Skip to content
Command line

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 | sh

macOS and Linux · version 0.4.0 · no sudo, installs to ~/.local/bin · Windows and direct downloads

Set up

Ready in about a minute.

  1. 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 | sh
    export PATH="$HOME/.local/bin:$PATH"
  2. 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 login
    xta auth status
  3. 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 dashboard
    xta context get --product <slug>
Cheatsheet

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
For AI agents

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 schema describes every command.
  • Read-only keys for agents that should only look.
export XTA_API_KEY=xta_…
xta schema
claude mcp add --transport http xta https://xta-api.letschop.io/mcp

No 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.

Several servers

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 list
xta remote add public https://xta.ng
xta login public
xta --remote public dashboard
Download

Direct 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.

macOS and Linux, by hand

tar -xzf xta-*.tar.gz && mkdir -p ~/.local/bin && mv xta ~/.local/bin/
xta --version

macOS 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.

Create a workspace