Thesis detects installed agent hosts automatically by checking whether known config directories exist on disk. When a host is found, the setup CLI writes the Thesis MCP server entry into that host’s config file using the correct format. The table below lists every supported host along with the format and path the CLI targets.

Supported hosts

HostConfig formatConfig path
Claude CodeJSON~/.claude.json
OpenCodeJSON~/.config/opencode/opencode.json
CodexTOML~/.codex/config.toml
CursorJSON~/.cursor/mcp.json
PiJSON~/.pi/agent/settings.json
Hermes AgentYAML~/.hermes/config.yaml
OpenClawJSON~/.openclaw/openclaw.json
Synsci CLI is also MCP-aware. Rather than configuring it through @synsci/thesis setup, register the Thesis MCP server with synsc mcp add, see Connect Synsci CLI to Thesis.

Target a specific host

By default, setup configures every host it detects. To target only one host, pass the --hosts flag with the host name:
npx --yes @synsci/thesis setup --hosts cursor
You can pass multiple names as a comma-separated list to configure a subset of hosts at once.

Web-based hosts

Claude.ai and ChatGPT.com run in the browser and cannot read local config files. To connect Thesis to these hosts, paste the following URL when the host asks for an MCP server address:
https://thesis.syntheticsciences.ai/mcp-server
You will also need a Thesis API key to authenticate requests. Retrieve your key from Settings → API Keys in the Thesis web app, then paste it when the host prompts for credentials.

Troubleshooting

The setup CLI tries to open a browser window for OAuth login. On SSH or headless machines this fails silently. Run setup with device-code authentication instead:
npx --yes @synsci/thesis setup --auth-mode device
The CLI prints a short code and URL. Open the URL on any device, enter the code, and setup continues automatically.
The CLI only writes to a host’s config when it detects that the host is installed. If the config was not updated, verify that the host is installed on your machine, then re-run setup. Alternatively, target the host explicitly:
npx --yes @synsci/thesis setup --hosts <host-name>
The CLI writes to config directories that must be owned by your user account. If you see a permission error, check that you own the relevant directory:
ls -la ~/.claude/
ls -la ~/.cursor/
Use chown to correct ownership if needed before re-running setup.