# `OpenCode.Generated.Config`
[🔗](https://github.com/UtkarshUsername/opencode-sdk-elixir/blob/v0.1.84/lib/opencode/generated/config.ex#L1)

Provides API endpoints related to config

# `config_providers_200_json_resp`

```elixir
@type config_providers_200_json_resp() :: %{
  default: map(),
  providers: [OpenCode.Generated.Provider.t()]
}
```

# `t`

```elixir
@type t() :: %OpenCode.Generated.Config{
  agent: OpenCode.Generated.ConfigAgent.t() | nil,
  attachment: OpenCode.Generated.AttachmentConfig.t() | nil,
  autoshare: boolean() | nil,
  autoupdate: boolean() | String.t() | nil,
  command: map() | nil,
  compaction: OpenCode.Generated.ConfigCompaction.t() | nil,
  default_agent: String.t() | nil,
  disabled_providers: [String.t()] | nil,
  enabled_providers: [String.t()] | nil,
  enterprise: OpenCode.Generated.ConfigEnterprise.t() | nil,
  experimental: OpenCode.Generated.ConfigExperimental.t() | nil,
  formatter: boolean() | map() | nil,
  instructions: [String.t()] | nil,
  layout: String.t() | nil,
  log_level: String.t() | nil,
  lsp: boolean() | map() | nil,
  mcp: map() | nil,
  mode: OpenCode.Generated.ConfigMode.t() | nil,
  model: String.t() | nil,
  permission: map() | String.t() | nil,
  plugin: [String.t() | [any()]] | nil,
  provider: map() | nil,
  references: map() | nil,
  schema: String.t() | nil,
  server: OpenCode.Generated.ServerConfig.t() | nil,
  share: String.t() | nil,
  shell: String.t() | nil,
  skills: OpenCode.Generated.ConfigSkills.t() | nil,
  small_model: String.t() | nil,
  snapshot: boolean() | nil,
  tool_output: OpenCode.Generated.ConfigToolOutput.t() | nil,
  tools: map() | nil,
  username: String.t() | nil,
  watcher: OpenCode.Generated.ConfigWatcher.t() | nil
}
```

# `config_get`

```elixir
@spec config_get(opts :: keyword()) ::
  {:ok, t()} | {:error, OpenCode.Generated.BadRequestError.t()}
```

Get configuration

Retrieve the current OpenCode configuration settings and preferences.

## Options

  * `directory`
  * `workspace`

# `config_providers`

```elixir
@spec config_providers(opts :: keyword()) ::
  {:ok, config_providers_200_json_resp()}
  | {:error, OpenCode.Generated.BadRequestError.t()}
```

List config providers

Get a list of all configured AI providers and their default models.

## Options

  * `directory`
  * `workspace`

# `config_update`

```elixir
@spec config_update(body :: t(), opts :: keyword()) ::
  {:ok, t()}
  | {:error,
     OpenCode.Generated.EffectHttpApiErrorBadRequest.t()
     | OpenCode.Generated.InvalidRequestError.t()}
```

Update configuration

Update OpenCode configuration settings and preferences.

## Options

  * `directory`
  * `workspace`

## Request Body

**Content Types**: `application/json`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
