Harness-Specific Settings
This document describes how to configure individual LLM tools and harnesses inside a Scion agent.
Purpose
Section titled “Purpose”While Scion manages the orchestration and execution of containers, the tools running inside those containers (like the Gemini CLI or Claude Code) often have their own configuration systems.
Locations
Section titled “Locations”Each agent has a dedicated “Home” directory that is mounted into the container. Harness-specific settings are typically found in a hidden subdirectory:
- Gemini:
/home/gemini/.gemini/settings.json - Claude:
/home/claude/.claude.json(or similar) - Opencode:
/home/opencode/opencode.json
Seeding from Harness-Configs & Templates
Section titled “Seeding from Harness-Configs & Templates”When an agent is created, Scion composes its home directory by layering files from multiple sources:
- Harness-Config: Base settings for the specific LLM tool (from
~/.scion/harness-configs/<name>/home/). - Template: Role-specific prompts and configuration (from
.scion/templates/<name>/home/). - Common Files: Shared dotfiles like
.tmux.confand.zshrc.
This multi-layered approach allows you to define a “base” Gemini configuration once, and then overlay different “roles” (like Code Reviewer or Security Auditor) on top of it.
Key Concepts
Section titled “Key Concepts”- Tools: Allowlists of local or remote functions the LLM is permitted to call.
- Profiles: Harness-level profiles (distinct from Scion profiles) that control model parameters.
- Credentials: How API keys are injected and stored within the harness-specific configuration. Auth type selection uses universal Scion types (
api-key,auth-file,vertex-ai) set viaauth_selectedTypein the settings profile. Scion translates these to harness-native values during provisioning (e.g.,api-keybecomesgemini-api-keyin Gemini’ssettings.json). See Agent Credentials for the full credential pipeline.