pub struct Settings {Show 17 fields
pub default_provider: Option<String>,
pub default_model: Option<String>,
pub default_thinking_level: Option<String>,
pub theme: Option<String>,
pub scoped_models: Option<Vec<String>>,
pub packages: Option<Vec<PackageSetting>>,
pub npm_command: Option<Vec<String>>,
pub skill_dirs: Option<Vec<String>>,
pub prompt_dirs: Option<Vec<String>>,
pub extension_dirs: Option<Vec<String>>,
pub keybindings: Option<HashMap<String, Value>>,
pub double_escape_action: Option<String>,
pub hide_thinking_block: Option<bool>,
pub quiet_startup: Option<bool>,
pub show_terminal_progress: Option<bool>,
pub editor_padding_x: Option<usize>,
pub autocomplete_max_visible: Option<usize>,
}Expand description
The honored subset of pi’s Settings. Unknown fields are ignored.
Fields§
§default_provider: Option<String>Saved default provider id (v1 honors only "anthropic"; an absent or
anthropic value allows the saved default-model lookup).
default_model: Option<String>Saved default model id. When present and the model is authed,
provider::resolve selects it (pi findInitialModel step 3).
default_thinking_level: Option<String>Saved default thinking level (a level-name string: off/minimal/low/medium/
high/xhigh/max). Parsed by the caller via args::parse_thinking_level.
theme: Option<String>Saved theme name. Surfaced for best-effort TUI theme application.
scoped_models: Option<Vec<String>>/scoped-models: the model ids allowed in the Ctrl+M cycle. Absent /
empty ⇒ every catalog model cycles (the default).
packages: Option<Vec<PackageSetting>>Pi-compatible static package specs. Entries may be local package
directories, package.json files, installed package names, or filtered
package objects.
npm_command: Option<Vec<String>>Command used by native Pi for npm package lookup/install operations.
Stored argv-style so launchers such as mise exec -- npm need no shell.
skill_dirs: Option<Vec<String>>Additional skill directories. Relative paths are resolved against the
settings file’s owner (project root for project settings, agent dir for
global settings). skills is accepted as a compatibility shorthand.
prompt_dirs: Option<Vec<String>>Additional prompt-template directories/files. prompts is accepted as
a compatibility shorthand.
extension_dirs: Option<Vec<String>>Additional Rust cdylib extension directories. extensions is accepted
as a compatibility shorthand.
keybindings: Option<HashMap<String, Value>>Native Pi keybinding overrides. Values may be a key string, an array of key strings, or an empty array to unbind an action.
double_escape_action: Option<String>Action performed by two quick Escape presses while the editor is empty.
Native Pi defaults this to tree; none disables the gesture.
hide_thinking_block: Option<bool>Hide the body of thinking blocks while retaining a compact label.
quiet_startup: Option<bool>Suppress the interactive startup header and resource summary. Update checks remain enabled, matching native Pi.
show_terminal_progress: Option<bool>Show the global terminal progress indicator while a run is active.
editor_padding_x: Option<usize>Horizontal editor padding in terminal columns.
autocomplete_max_visible: Option<usize>Maximum number of autocomplete rows shown above the editor.