Skip to Content
TaresReferenceCLI reference

CLI reference

The tares package installs three entry points: tares, with the subcommands below, taresd and tares-mcp.

commandpurpose
tares upstart the daemon and console
tares mcprun the MCP server (for remote agents and the factory crew)
tares loginconnect this machine to a Tares Cloud workspace
tares logoutremove this machine’s key and forget the login
tares statusreadiness checklist and the next step
tares factoryrun the software factory crew
taresdthe daemon, configured by environment only
tares-mcpthe stdio MCP proxy (spawned by an agent client)

tares up

Starts taresd with a persistent data home and prints the console URL.

tares up [--host HOST] [--port PORT] [--data-dir DIR] [--open] [--auth[=TOKEN]]
flagdefaultdescription
--host127.0.0.1bind address; 0.0.0.0 to expose on the network
--port8787bind port
--data-dir~/.taresdirectory for the DuckDB file and catalog
--openoffopen the console in a browser
--auth[=TOKEN]offrequire a login. Bare --auth generates and persists a root token (printed as a …/?token=… login URL each launch); --auth=TOKEN uses your own. Omit for an open instance. See Authentication.

tares up sets TARES_DB and TARES_CATALOG under --data-dir unless they are already set in the environment. --auth exports TARES_AUTH_TOKEN, so setting that variable is equivalent.

tares mcp

Runs the MCP server, a network endpoint for remote agents (streamable-http is the default). For a client that spawns the server itself over stdio, use tares-mcp instead.

tares mcp [--transport {stdio,sse,streamable-http}] [--host HOST] [--port PORT] [--taresd URL]
flagdefaultdescription
--transportstreamable-httpstdio, sse, or streamable-http
--host127.0.0.1bind address (HTTP transports)
--port8788bind port (HTTP transports)
--taresdhttp://127.0.0.1:8787the daemon URL to proxy to
tares mcp --transport streamable-http --host 0.0.0.0 --port 8788 --taresd http://localhost:8787 # serves http://<host>:8788/mcp

tares login

Connects this machine to one of your Tares Cloud workspaces. Requires Tares 1.45.0 or later.

tares login [--cloud URL] [--no-browser]
flagdefaultdescription
--cloud$TARES_CLOUD_URL, else https://console.tares-glassflow.comthe Tares Cloud console to sign in at
--no-browseroffprint the address to open instead of opening it

Your browser opens the console’s Connect a terminal page. Sign in if needed, pick a workspace on Tares 1.44.0 or later, and choose Connect. The workspace makes an admin key for this machine, named cli: <machine> (<your email>) under Settings > Access and API keys, and hands it back to the CLI over 127.0.0.1 with a one-time code. The CLI saves the workspace and the key in ~/.tares/login.json, readable only by you.

tares status, tares factory and the Claude Code plugin then use that workspace. Every command finds its Tares in the same order:

  1. a flag, such as --taresd
  2. TARESD_URL and TARES_AUTH_TOKEN
  3. the workspace tares login saved
  4. the local Tares at http://127.0.0.1:8787

So on a machine that is signed in, set TARESD_URL=http://127.0.0.1:8787 (or run tares logout) to work against a local tares up instead.

Running tares login again replaces the saved workspace and removes the previous key. The key is only ever sent to its own workspace and the console.

tares logout

tares logout

Removes this machine’s key from the workspace and deletes ~/.tares/login.json. Your browser sessions and other machines are not affected. If the workspace cannot be reached, the file is still deleted and the command says where to remove the key by hand.

tares status

tares status [--taresd URL] [--data-dir DIR] [--json]

Asks the running daemon (--taresd, TARESD_URL, the workspace tares login saved, or http://127.0.0.1:8787, in that order) and prints one line per check: daemon, auth, sources configured and receiving, projects, triggers, Tares agents and whether an Anthropic key is set, the MCP endpoint, which agent clients on this machine have Tares registered (Claude Code, Cursor, Codex; read-only), Slack. The last line is the one thing to do next. --json prints the same as a stable object. Exit code 1 when nothing answers. When auth is on, the root token is read from --data-dir (or TARES_AUTH_TOKEN). Signed in with tares login, the first line says which workspace.

tares factory

Runs the software factory: one crew of Claude Code sessions on this machine that builds every project you hand it. tares factory help lists every subcommand.

tares factory crew up # start the crew and the watch; the first run asks the settings tares factory spec "<idea>" # plan a project and hand it to the crew tares factory session <project> # work on a project in your own session (or "<idea>" to plan and build one) tares factory crew attach orchestrator tares factory doctor # check everything the crew needs

The full list is in Commands. On Tares Cloud, tares login is all it needs. It reads:

variabledefaultdescription
TARESD_URLthe workspace tares login saved, else http://127.0.0.1:8787the Tares the crew uses
TARES_AUTH_TOKENthe saved login’s key, else unsetan admin key or the root token, when auth is on
TARES_FACTORY_MCP_URLhttp://127.0.0.1:8788/mcp for a local Tares, else TARESD_URL plus /mcpthe MCP endpoint every crew session shares
FACTORY_CREW_HOME~/factorythe crew’s own folder

taresd

The daemon itself, with no CLI flags, configured entirely by environment variables (see Configuration). tares up is a thin wrapper over this.

TARES_DB=/data/tares.duckdb TARES_HOST=0.0.0.0 TARES_PORT=8787 taresd

tares-mcp

The stdio MCP proxy, the entry point an agent client (Claude Code, Claude Desktop) spawns. It reads:

variabledefaultdescription
TARESD_URLhttp://127.0.0.1:8787the daemon to proxy to
TARES_AUTH_TOKENunsetbearer token, if the daemon requires one
TARES_MCP_TRANSPORTstdiostdio, sse, or streamable-http

See Connecting agents for client configuration.

Last updated on