StartSessionOptions
Caller-facing options for session/start.
Class in muse_code
Composed from the generated SessionStartParams. commandId is
excluded because the connection mints it; previousSessionId because the
facade starts root sessions, and spawnedBy because the facade does not
expose a spawner yet.
Experimental-only members (switchPolicy) are invisible here: the
exclusion set tracks the stable SessionStartParams below, and a
graduation reds the drift assert until the facade forwards or
excludes the new member.
Properties
Section titled “Properties”| Property | Type | Description |
|---|---|---|
approval_mode |
str | None |
The approval enforcement mode to start under; omitted = the host’s default. |
provider_id |
str | None |
The provider to serve the session with; omitted = the host’s default. |
session_id |
str | None |
A caller-chosen session id; omitted = the host mints one. |
workspace_root |
str | None |
The workspace the session works in; omitted = the host decides. |
workspace_roots |
List[str] | None |
The session’s initial runtime workspace-root set (wire workspaceRoots; first root = the CWD). When workspace_root is also given the two must agree. |
model_id |
str | None |
The model to serve the session with; omitted = the provider’s default. |
permission_profile |
str | None |
The permission profile to start the session under (wire permissionProfile): a profile id the host offers; omitted = the host’s configured default. An id the host does not offer refuses the start before the session exists. |
require_permission_profile |
bool |
Require the permission_profile selection: when true, the client proves the committed selection equals the requested id — from the start result’s session.permissionState, else a session/read read-back — and raises PermissionProfileNotApplied instead of proceeding on the host default. Client-local: never sent on the wire. Setting it without permission_profile is a usage error. |
recovery_mode |
RecoveryMode | None |
Optional recovery selection (wire recoveryMode); omitted means no selection is sent. |
config |
SessionConfig | None |
Per-session configuration (wire config). Naming MCP servers in mcpServers needs the host’s sessionMcp grant; without it the start raises MuseCapabilityNotGrantedError before anything is sent. |
Source
clients/sdk-py/src/muse_code/facade/client.py:128