Configuration
Every config option created by bootstrap
After phantasm bootstrap, the current shipped runtime creates exactly two
user-edited config files: .phantasm/phantasm.toml and
.phantasm/clients.toml. This page documents every supported key in both
files and calls out what is not configurable yet.
Generated layout
.phantasm/
├── phantasm.toml
├── clients.toml
└── state/
├── store.sqlite
├── backups/
├── indexes/
├── logs/
├── raw/
└── tmp/
Only phantasm.toml and clients.toml are public config files
today. The rest of the runtime layout is state, storage, or derived output.
phantasm.toml
version = "v1"
default_client = "generic_mcp"
version
Type: quoted string. Default: "v1". This is the config schema version.
The runtime currently accepts only v1.
default_client
Type: quoted string. Default: "generic_mcp". This selects the client
profile Phantasm should treat as the default when a runtime consumer relies on config
rather than hard-coding a profile selection.
Valid values for default_client are the names present in
clients.toml. The shipped built-ins are generic_mcp,
codex, and claude_code.
clients.toml
version = "v1"
# User-defined profiles must inherit from exactly one built-in profile.
# Built-ins: generic_mcp, codex, claude_code
#
# Example:
# [profiles.codex_readonly]
# inherits = "codex"
# display_name = "Codex Read Only"
# allow_authoritative_writes = false
The top-level file key is version. Custom profiles live under
[profiles.<name>] sections.
version
Type: quoted string. Default: "v1". This is the client-profile schema
version, and only v1 is accepted today.
inherits
Type: quoted string. Required inside every custom profile section. The value must be
one built-in profile: generic_mcp, codex, or
claude_code.
display_name
Type: quoted string. Optional. If omitted, Phantasm derives a display name from the profile section name by replacing underscores with spaces.
allow_suggestions
Type: boolean. Optional. Overrides whether the profile can create suggestion-shaped mutations. If omitted, the value is inherited from the built-in parent profile.
allow_authoritative_writes
Type: boolean. Optional. Controls whether the profile can perform authoritative runtime writes. Omitted values inherit from the built-in parent.
allow_sensitive_read
Type: boolean. Optional. Controls whether the profile can perform sensitive reads. Omitted values inherit from the built-in parent.
allow_sensitive_export
Type: boolean. Optional. Controls whether the profile can export sensitive data. Omitted values inherit from the built-in parent.
Built-in profiles
generic_mcpcodexclaude_codeCurrent limitations
- There is no supported post-bootstrap config key for context length or token budget yet.
- There is no model-selection key in the generated runtime config files yet.
- Unknown keys in custom client profile sections are rejected as config errors.
- Comments are supported, but values must still use the expected quoted-string or boolean format.
Related docs
For the Markdown version of this reference, see configuration-reference.md.