Skip to content

Configuration Reference

CatGo reads configuration from environment variables, the in-app Settings dialog, and config files under ~/.catgo/. Settings dialog changes take effect immediately; environment variable changes require a restart.

User Data Directory

PathContents
~/.catgo/Default root for all persistent user data
~/.catgo/databases/SQLite databases (workflow state, panel state, structure cache)
~/.catgo/agents/<provider>/CatBot working directory per provider
~/.catgo/logs/Sidecar and agent logs

Override the root with:

bash
export CATGO_HOME=/path/to/your/dir

The override is honored on every platform and inside AppImage / .deb / .dmg builds.

Environment Variables

Application

VariableDefaultPurpose
CATGO_HOME~/.catgoRoot for user data, databases, agent dirs
CATGO_LOG_LEVELinfoOne of trace, debug, info, warn, error
CATGO_SERVER_PORT8000Python backend port
CATGO_AGENT_PORT8765catgo-agent Node sidecar port
PYTHONfrom PATHPath to the Python interpreter used by the dev frontend

AI Providers (CatBot)

VariableProvider
ANTHROPIC_API_KEYClaude
GEMINI_API_KEYGemini
OPENAI_API_KEYCodex

Keys can also be entered in Settings → Chat; the in-app dialog stores them encrypted in the OS keychain (Keychain on macOS, Credential Manager on Windows, libsecret on Linux).

Materials Databases

VariablePurpose
MP_API_KEYMaterials Project (required for MP queries)
OPTIMADE_PROVIDERSComma-separated list of OPTIMADE provider IDs to query

HPC

VariablePurpose
VASP_PSP_DIRPath to the VASP PAW potentials (used by the POTCAR generator)
CATGO_HPC_DEFAULTDefault HPC host nickname (matches an entry in Settings → HPC)

Config Files

~/.catgo/config.json — global app preferences (theme, viewer defaults, calculator defaults). Edit through Settings whenever possible.

~/.catgo/hpc.json — HPC host registry. Format:

json
{
  "hosts": [
    {
      "nickname": "shaheen",
      "hostname": "shaheen.hpc.kaust.edu.sa",
      "user": "you",
      "key_path": "~/.ssh/id_ed25519",
      "scheduler": "slurm",
      "workdir": "/scratch/you/catgo"
    }
  ]
}

~/.catgo/agents/<provider>/settings.json — per-provider CatBot settings (system prompt, allowed tools, default panel).

Backend Endpoints

The Python sidecar exposes these HTTP endpoints. Token-efficient operations (file upload, structure export, panel mutations) should always go through these rather than through the MCP server.

EndpointPurpose
/api/view/upload-and-loadMultipart upload + load into viewer
/api/view/structure/export?format=…Download current structure
/api/view/structure/merge-uploadMultipart upload + merge into current panel
/api/workflow/*Workflow engine CRUD + control
/api/mcp/MCP protocol endpoint (for external agents)
/healthLiveness probe

See Server API for full request/response schemas.

Released under the MIT License.