Configuration Overview
Perry stores configuration in ~/.config/perry/.
You can override the config directory with PERRY_CONFIG_DIR or WS_CONFIG_DIR.
Configuration Files
| File | Purpose |
|---|---|
config.json | Agent configuration (credentials, SSH keys, scripts) |
client.json | Client configuration (remote agent hostname) |
state.json | Workspace state (managed automatically) |
Agent Configuration
Location: ~/.config/perry/config.json
{
"port": 7391,
"credentials": {
"env": {
"ANTHROPIC_API_KEY": "sk-ant-...",
"DATABASE_URL": "postgres://..."
},
"files": {
"~/.gitconfig": "~/.gitconfig"
}
},
"agents": {
"github": {
"token": "ghp_..."
},
"opencode": {
"server": {
"hostname": "0.0.0.0"
}
}
},
"ssh": {
"autoAuthorizeHostKeys": true,
"global": {
"copy": ["~/.ssh/id_ed25519"],
"authorize": ["~/.ssh/id_ed25519.pub"]
},
"workspaces": {}
},
"scripts": {
"post_start": [
"~/.perry/userscripts",
"~/scripts/setup.sh"
],
"fail_on_error": false
},
"tailscale": {
"authKey": "tskey-auth-..."
},
"allowHostAccess": true
}
Edit Configuration
Option 1: Web UI
Go to http://localhost:7391 and click Settings.
Option 2: Edit file directly
$EDITOR ~/.config/perry/config.json
Option 3: Interactive wizard
perry agent config
Option 4: CLI commands
perry agent show-config
perry ssh copy ~/.ssh/id_ed25519
Apply Changes
Configuration changes take effect:
- Immediately for new workspaces
- On sync for running workspaces:
perry sync <name> - On restart for stopped workspaces
Client Configuration
Location: ~/.config/perry/client.json
Used when connecting to a remote agent from your local machine.
{
"agent": "myserver.tail1234.ts.net:7391"
}
Set via CLI:
perry config agent myserver.tail1234.ts.net
If you run any perry command without configuring an agent (and no local agent is running), Perry will interactively prompt you for the agent hostname.
Configuration Sections
- Credentials - Env vars, files, and SSH keys
- Agents - Agent sync, OpenCode server, GitHub token
- Scripts - Run scripts after workspace starts
- Tailscale - Remote agent access and workspace networking
- GitHub - Token setup and cloning