xta in your terminal.
Read what your organisation knows, log progress, track funding and move applications to review, from the command line. Built for people, and for the AI agents working beside them.
curl -fsSL https://xta.letschop.io/install.sh | shmacOS and Linux · version 0.4.0 · no sudo, installs to ~/.local/bin · Windows and direct downloads
Ready in about a minute.
- 1
Install
Downloads the right build for your machine and checks its checksum. If your shell can’t find xta afterwards, add ~/.local/bin to your PATH.
curl -fsSL https://xta.letschop.io/install.sh | shexport PATH="$HOME/.local/bin:$PATH" - 2
Sign in
Your browser opens. Check the code matches your terminal, pick the workspace and approve. The key lasts 90 days and appears in Settings; `xta logout` signs out.
xta loginxta auth status - 3
Work
Everything you can do is limited by your role, exactly as in the web app. Run any command with --help to see its options.
xta dashboardxta context get --product <slug>
The commands you’ll actually use.
Text flags take @file or - for stdin. Products can be named by slug, people by name or email.
Sign in
Approve the terminal in your browser once; it remembers you for 90 days.
- xta login
- Sign in through the browser
- xta auth status
- Who, where, and what this key can do
- xta workspace list
- Workspaces signed in on this machine
- xta workspace use <slug>
- Switch the default workspace
- xta logout
- Sign out: revoke this computer’s key
Servers
One CLI for every xta server, like git remotes.
- xta remote list
- Servers you’ve added
- xta remote add <name> <url>
- Add a server (name is optional)
- xta login <remote>
- Sign in to a specific server
- xta remote use <name>
- Make a server the default
- xta --remote <name> <command>
- Run one command against another server
- xta -w <remote>/<slug> <command>
- Use a workspace on a named server
Knowledge
Everything your organisation knows, resolved with sources.
- xta context get --product <slug>
- Full context for a product
- xta context search <words>
- Search across the knowledge
- xta company get
- The company profile
- xta company update --set mission="…" --version <n>
- Change profile fields
- xta products list
- Products
- xta storylines list --product <slug>
- How a product is framed for each audience
Timeline
Log what happened so the next application can use it.
- xta timeline list --product <slug>
- Recent events, newest first
- xta timeline add --product <slug> --category MILESTONE --title "…"
- Log a milestone
- xta timeline add … --metric "Orders=12,400"
- Attach numbers
Funding
Grants, accelerators, investors and lenders.
- xta funding list --type GRANT
- Opportunities you’re tracking
- xta funding add --name "…" --funder "…" --deadline 2027-03-01
- Track a new one
- xta funding check-fit <id>
- How well you fit (uses AI)
- xta funding qualify <id> --yes
- Mark it worth applying to
Applications
From the funder’s form to review, without leaving the terminal.
- xta apps list
- Applications and their progress
- xta apps start --opportunity <id> --product <slug>
- Start one
- xta questions parse <app> --text @form.txt
- Split a pasted form into questions
- xta answer draft <app> <question>
- xta drafts from verified context
- xta answer write <app> <question> --text @answer.md
- Save your own answer
- xta apps send-for-review <app> --reviewer "<name>"
- Hand it to a reviewer
- xta apps export <app>
- Clean text for the funder’s form
Reviews, memory and team
Comment on reviews and keep memory tidy.
- xta reviews list --mine
- Reviews assigned to you
- xta reviews comment <id> --body "…"
- Comment on a review
- xta memory list
- Approved answers waiting to join context
- xta team list
- Members and roles
- xta dashboard
- Deadlines and next actions
- xta open app <id>
- Link to it in the web app
Scripts and agents
JSON when piped, stable exit codes, no prompts.
- claude mcp add --transport http xta <mcp-url>
- Connect Claude Code; it signs in through the browser
- xta auth mcp-headers
- Header for an MCP headersHelper (reuses xta login)
- export XTA_API_KEY=xta_…
- Use a key from Settings (never saved to disk)
- xta apps list --json
- Machine-readable output
- xta schema
- Every command, argument and exit code as JSON
- xta tool list
- Tools this key can use
- xta tool call <tool> --input args.json
- Call any tool directly
- echo "$KEY" | xta login --with-token
- Store a key for CI
Hand the busywork to an agent.
Claude Code, Cursor or a script can read your context, log updates and draft applications up to the point of review. Apps sign in through your browser; scripts and CI use a key from Settings. Everything an agent changes is labelled with its name.
- JSON on stdout when piped; errors as one JSON object on stderr.
- Stable exit codes, so an agent knows to retry, re-read or ask you.
- Never prompts without a terminal.
xta schemadescribes every command. - Read-only keys for agents that should only look.
export XTA_API_KEY=xta_…xta schemaclaude mcp add --transport http xta https://xta-api.letschop.io/mcpNo key to paste: Claude Code opens xta in your browser to approve, and keeps the sign-in in its keychain. Cursor, VS Code and ChatGPT use the same address. Already signed in with the CLI? Use "headersHelper": "xta auth mcp-headers".
Exit codes
- 0
- Success
- 2
- Usage: a flag or value is missing
- 3
- Not signed in, or the key was revoked
- 4
- Not allowed for your role or key
- 5
- Not found
- 6
- Conflict: re-read and retry
- 7
- Rate or AI limit (retry later)
- 8
- Server unavailable (retry later)
- 9
- CLI too old: upgrade
- 10
- Validation failed
People keep the final say
Keys never approve reviews, submit to funders, record outcomes or manage your team. When that’s the next step, xta open app <id> gives you the link.
One install for every xta.
Like git remotes: keep your organisation’s private instance and the public xta side by side, each with its own sign-in. Installing from a server adds it for you.
xta remote listxta remote add public https://xta.ngxta login publicxta --remote public dashboardDirect downloads v0.4.0
Prefer to install by hand? Download the archive for your machine, check it against its SHA-256, and put xta somewhere on your PATH.
| Platform | File | Size | SHA-256 |
|---|---|---|---|
| macOS Apple silicon | xta-aarch64-apple-darwin.tar.gz | 2.4 MB | 2749997eb9ad… |
| macOS Intel | xta-x86_64-apple-darwin.tar.gz | 2.5 MB | 7699d333e7af… |
| Linux x86-64 | xta-x86_64-unknown-linux-musl.tar.gz | 2.4 MB | 91ba34dee0e8… |
| Linux ARM64 | xta-aarch64-unknown-linux-musl.tar.gz | 2.2 MB | 4a284285695e… |
| Windows x86-64 | xta-x86_64-pc-windows-gnu.zip | 3.2 MB | 294ec15a5c83… |
macOS and Linux, by hand
tar -xzf xta-*.tar.gz && mkdir -p ~/.local/bin && mv xta ~/.local/bin/xta --versionmacOS may ask you to allow it the first time: System Settings › Privacy & Security › Allow anyway.
Windows
Unzip xta.exe into a folder on your PATH (for example %USERPROFILE%\bin), then run xta login in PowerShell.
Upgrading later: xta upgrade tells you when a new version is out.
Keys and sessions live in Settings.
See every terminal and agent signed in to your workspace, and revoke any of them.