> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devin.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# LocalDevinOptions

## Properties

**acpVersion** `AcpProtocolVersion`

ACP version to offer. Defaults to 2 (allows v1 fallback); 1 requires v1.

**apiKey** `string`

Personal access token (`cog_…`) used to authenticate the CLI. Defaults
to `$DEVIN_API_KEY`, the same key cloud mode uses. Required: the SDK
never falls back to a `devin auth login` credential store on the host.

**clientCapabilities** `CognitionClientCapabilities`

Extra `cognition.ai/*` client capabilities to advertise on `initialize`,
merged over the SDK defaults (`cognition.ai/revert`,
`cognition.ai/diagnosticsSessionExport`). Set a flag to `false` to opt out.

**cwd** `string`

Working directory the agent operates in. Defaults to `process.cwd()`.

**model** `string | FusionModel`

**Type:** `string | FusionModel`

Default model for sessions (see `LocalSession.models()`), or a [FusionModel](https://docs.devin.ai/sdk/reference/interfaces/FusionModel.md).

**onPermission** `PermissionHandler`

Called when the agent asks for permission (e.g. to run a command).
Defaults to rejecting, so unattended runs are safe by default.

**stateDir** `string`

Directory the bundled CLI uses for its config, session store, and cache.
Defaults to `~/.devin-sdk`. The CLI never sees the host's own
`~/.config/devin` (MCP servers, skills, a `devin auth login`), so a script
behaves the same on a developer laptop and in CI. Point this at a
directory of your own to ship CLI configuration with your app. Relative
paths resolve against the host process's working directory.

**tracing** `SessionInstrumentation`

Trace every session this client opens, e.g.
`traceSessions({ tracer })` from `@cognition-ai/sdk/tracing`. Sessions
refine or opt out with their own `tracing` option.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.