# One Track CLI

One Track in your terminal. Tracks, entries, and their dependencies — from the same shell your work already lives in.

## Download

One command. The script detects your platform, fetches the right binary, and places `one_track` on your PATH.

### macOS

Apple Silicon and Intel are both covered.

```sh
curl -fsSL https://one-track.app/install.sh | sh
```

### Linux

x86_64 and aarch64 are both covered.

```sh
curl -fsSL https://one-track.app/install.sh | sh
```

### Windows

Runs natively in PowerShell — no WSL required.

```powershell
irm https://one-track.app/install.ps1 | iex
```

Then confirm the train is on the rails — `one_track --help` lists the available commands:

```
login       Sign in and unlock your end-to-end-encrypted data in one step
logout      Revoke the saved session and delete local credentials
whoami      Show who is signed in and whether the session is valid
list        Show all tracks and their entries in dashboard order
show        Show one entry in full, including its dependencies
add         Add an entry, optionally wired into the dependency graph
done        Mark an entry as done
reopen      Reopen a completed entry
rm          Delete an entry
edit        Edit an entry's title, description, or track
link        Make one entry depend on another
unlink      Remove a dependency between two entries
track       Manage tracks (list, add, edit, rm)
account     Show the current plan
upgrade     Upgrade the account plan
downgrade   Downgrade the account plan
org         Organization administration
share       Share tracks with other accounts by email
visibility  Manage a track's visibility inside an organization
github      Link entries to GitHub issues and sync their state
agent       Manage agent grants and triggers, print the agent key identity
mcp         Serve the MCP interface for agents
```

Two recovery commands are hidden from that listing but available: `unlock` re-unlocks encrypted data on a device that signed in without a passphrase, and `lock` forgets the cached encryption identity.

## Connect Your Agent

Agents drive One Track by invoking `one_track` directly — every command takes `--json` for machine-readable output. The complete agent guide (authentication, task management, sharing, GitHub integration) is at [one-track.app/app?format=md](https://one-track.app/app?format=md).

The CLI also ships an MCP server: `one_track mcp` speaks the Model Context Protocol over stdio, exposing the data commands as tools. Register it once (for Claude Code: `claude mcp add --scope user one-track -- one_track mcp`) after `one_track login`, and your agent reads the same tracks you do. The server is read-only by default; add `--profile write` to the registered command (`claude mcp add --scope user one-track -- one_track mcp --profile write`) to let the agent create, edit and remove entries and tracks.
