Daybind Pro · Developer guide

Your day, connected
to your own tools.

Use Daybind from any agent or script that can run a local command. Read your day, add a task, or update a project without editing Daybind’s storage files.

Coming with Daybind Pro for Mac. These commands are for the new native Mac release. The currently published app may not include them yet.

Connect in three steps

  1. Open Daybind and activate Pro or its free 30-day trial.
  2. In Settings → Daybind Pro, turn on Enable agent access.
  3. Choose Copy CLI command. Give that command to your agent, or run it in Terminal to see the available commands.

Daybind must be running. Access is off by default. Turning it off closes the connection. CLI access requires an active Pro purchase or trial.

A quick start

If Daybind is installed in Applications, you can use this shell function. For any other location, use the path copied by the app.

daybind() { /Applications/Daybind.app/Contents/Helpers/DaybindCLI.app/Contents/MacOS/daybind "$@"; }

daybind status
daybind days get --date today
daybind tasks add --text 'Sketch the first idea'
daybind tasks add --kind carry --text 'Finish the proposal'
daybind projects list
daybind projects create --title 'A new idea'
daybind tags list

Commands

ResourceCommands
Connectionstatus, schema, --help
Dayslist, get, append, set
Projectslist, get, create, rename, append, set
Taskslist, add, complete
Tagslist

Dates use YYYY-MM-DD and default to today. Task commands accept either --date or --project. Task lines are numbered from 1. Carry-forward tasks can only be completed on today’s page.

Keep concurrent edits safe

Read the document before replacing it or completing a task. The response includes a revision. Send it back with the write. If the text has changed in the meantime, Daybind returns conflict; read again before deciding what to change.

daybind days get --date today
# Copy the returned revision into HASH, then:
daybind days set --date today --revision HASH --stdin < note.txt

daybind tasks list --date today
# Use the returned line number and revision:
daybind tasks complete --line 3 --revision HASH

append and tasks add add to the latest saved content. set replaces the entire document. The app saves pending editor changes before handling a request and rejects requests during an active editor interaction. After a timeout or lost connection, read the document before retrying a write: it may already have succeeded.

JSON protocol

Successful responses and errors go to standard output as JSON. For direct integration, pass a request on standard input:

printf '%s' '{"version":1,"id":"read-today-1","method":"days.get","params":{"date":"today"}}' | daybind --request

{"version":1,"id":"read-today-1","ok":true,"result":{"text":"...","revision":"...","date":"2026-10-14","project":null}}

Use a unique request ID for correlation. IDs are not an idempotency mechanism; writes are never automatically retried. Run daybind schema for the method list and daybind --help for all flags. Requests and responses have a 1 MiB limit.

Exit codes: 0 success; 2 invalid or rejected request; 3 app unavailable or connection failure. Common error codes include conflict, busy, pro_required and access_disabled.

You control the connection

The CLI uses a private local socket, not a public HTTP endpoint. Enabling access lets processes running as your macOS user read and change the library; there is no separate per-agent token. Only enable it for tools you trust. The agent may send retrieved content to its own service: review that provider’s settings and privacy policy.

You do not need to share an Apple Account password, receipt, or API key with the agent. About Daybind Pro · Get help