# Settings

> **Class** in `deepagents_code`

📖 [View in docs](https://reference.langchain.com/python/deepagents-code/config/Settings)

Global settings and environment detection for deepagents-code.

This class is initialized once at startup and provides access to:
- Available models and API keys
- Current project information
- Tool availability (e.g., Tavily)
- File system paths

## Signature

```python
Settings(
    self,
    openai_api_key: str | None,
    anthropic_api_key: str | None,
    google_api_key: str | None,
    nvidia_api_key: str | None,
    tavily_api_key: str | None,
    google_cloud_project: str | None,
    deepagents_langchain_project: str | None,
    user_langchain_project: str | None,
    model_name: str | None = None,
    model_provider: str | None = None,
    model_context_limit: int | None = None,
    model_unsupported_modalities: frozenset[str] = frozenset(),
    project_root: Path | None = None,
    shell_allow_list: list[str] | None = None,
    extra_skills_dirs: list[Path] | None = None,
    enable_interpreter: bool = INTERPRETER_ENABLE_DEFAULT,
    interpreter_timeout_seconds: float = INTERPRETER_TIMEOUT_SECONDS_DEFAULT,
    interpreter_memory_limit_mb: int = INTERPRETER_MEMORY_LIMIT_MB_DEFAULT,
    interpreter_max_ptc_calls: int = INTERPRETER_MAX_PTC_CALLS_DEFAULT,
    interpreter_max_result_chars: int = INTERPRETER_MAX_RESULT_CHARS_DEFAULT,
    interpreter_ptc: str | bool | list[str] = INTERPRETER_PTC_DEFAULT,
    interpreter_ptc_acknowledge_unsafe: bool = INTERPRETER_PTC_ACKNOWLEDGE_UNSAFE_DEFAULT,
)
```

## Constructors

```python
__init__(
    self,
    openai_api_key: str | None,
    anthropic_api_key: str | None,
    google_api_key: str | None,
    nvidia_api_key: str | None,
    tavily_api_key: str | None,
    google_cloud_project: str | None,
    deepagents_langchain_project: str | None,
    user_langchain_project: str | None,
    model_name: str | None = None,
    model_provider: str | None = None,
    model_context_limit: int | None = None,
    model_unsupported_modalities: frozenset[str] = frozenset(),
    project_root: Path | None = None,
    shell_allow_list: list[str] | None = None,
    extra_skills_dirs: list[Path] | None = None,
    enable_interpreter: bool = INTERPRETER_ENABLE_DEFAULT,
    interpreter_timeout_seconds: float = INTERPRETER_TIMEOUT_SECONDS_DEFAULT,
    interpreter_memory_limit_mb: int = INTERPRETER_MEMORY_LIMIT_MB_DEFAULT,
    interpreter_max_ptc_calls: int = INTERPRETER_MAX_PTC_CALLS_DEFAULT,
    interpreter_max_result_chars: int = INTERPRETER_MAX_RESULT_CHARS_DEFAULT,
    interpreter_ptc: str | bool | list[str] = INTERPRETER_PTC_DEFAULT,
    interpreter_ptc_acknowledge_unsafe: bool = INTERPRETER_PTC_ACKNOWLEDGE_UNSAFE_DEFAULT,
) -> None
```

| Name | Type |
|------|------|
| `openai_api_key` | `str \| None` |
| `anthropic_api_key` | `str \| None` |
| `google_api_key` | `str \| None` |
| `nvidia_api_key` | `str \| None` |
| `tavily_api_key` | `str \| None` |
| `google_cloud_project` | `str \| None` |
| `deepagents_langchain_project` | `str \| None` |
| `user_langchain_project` | `str \| None` |
| `model_name` | `str \| None` |
| `model_provider` | `str \| None` |
| `model_context_limit` | `int \| None` |
| `model_unsupported_modalities` | `frozenset[str]` |
| `project_root` | `Path \| None` |
| `shell_allow_list` | `list[str] \| None` |
| `extra_skills_dirs` | `list[Path] \| None` |
| `enable_interpreter` | `bool` |
| `interpreter_timeout_seconds` | `float` |
| `interpreter_memory_limit_mb` | `int` |
| `interpreter_max_ptc_calls` | `int` |
| `interpreter_max_result_chars` | `int` |
| `interpreter_ptc` | `str \| bool \| list[str]` |
| `interpreter_ptc_acknowledge_unsafe` | `bool` |


## Properties

- `openai_api_key`
- `anthropic_api_key`
- `google_api_key`
- `nvidia_api_key`
- `tavily_api_key`
- `google_cloud_project`
- `deepagents_langchain_project`
- `user_langchain_project`
- `model_name`
- `model_provider`
- `model_context_limit`
- `model_unsupported_modalities`
- `project_root`
- `shell_allow_list`
- `extra_skills_dirs`
- `enable_interpreter`
- `interpreter_timeout_seconds`
- `interpreter_memory_limit_mb`
- `interpreter_max_ptc_calls`
- `interpreter_max_result_chars`
- `interpreter_ptc`
- `interpreter_ptc_acknowledge_unsafe`
- `has_anthropic`
- `has_google`
- `has_vertex_ai`
- `has_tavily`
- `user_deepagents_dir`
- `user_agents_dir`

## Methods

- [`from_environment()`](https://reference.langchain.com/python/deepagents-code/config/Settings/from_environment)
- [`preview_reload_from_environment()`](https://reference.langchain.com/python/deepagents-code/config/Settings/preview_reload_from_environment)
- [`reload_from_environment()`](https://reference.langchain.com/python/deepagents-code/config/Settings/reload_from_environment)
- [`get_user_agent_md_path()`](https://reference.langchain.com/python/deepagents-code/config/Settings/get_user_agent_md_path)
- [`get_project_agent_md_path()`](https://reference.langchain.com/python/deepagents-code/config/Settings/get_project_agent_md_path)
- [`get_agent_dir()`](https://reference.langchain.com/python/deepagents-code/config/Settings/get_agent_dir)
- [`ensure_agent_dir()`](https://reference.langchain.com/python/deepagents-code/config/Settings/ensure_agent_dir)
- [`get_user_skills_dir()`](https://reference.langchain.com/python/deepagents-code/config/Settings/get_user_skills_dir)
- [`ensure_user_skills_dir()`](https://reference.langchain.com/python/deepagents-code/config/Settings/ensure_user_skills_dir)
- [`get_project_skills_dir()`](https://reference.langchain.com/python/deepagents-code/config/Settings/get_project_skills_dir)
- [`ensure_project_skills_dir()`](https://reference.langchain.com/python/deepagents-code/config/Settings/ensure_project_skills_dir)
- [`get_user_agents_dir()`](https://reference.langchain.com/python/deepagents-code/config/Settings/get_user_agents_dir)
- [`get_project_agents_dir()`](https://reference.langchain.com/python/deepagents-code/config/Settings/get_project_agents_dir)
- [`get_user_agent_skills_dir()`](https://reference.langchain.com/python/deepagents-code/config/Settings/get_user_agent_skills_dir)
- [`get_project_agent_skills_dir()`](https://reference.langchain.com/python/deepagents-code/config/Settings/get_project_agent_skills_dir)
- [`get_user_claude_skills_dir()`](https://reference.langchain.com/python/deepagents-code/config/Settings/get_user_claude_skills_dir)
- [`get_project_claude_skills_dir()`](https://reference.langchain.com/python/deepagents-code/config/Settings/get_project_claude_skills_dir)
- [`get_built_in_skills_dir()`](https://reference.langchain.com/python/deepagents-code/config/Settings/get_built_in_skills_dir)
- [`get_extra_skills_dirs()`](https://reference.langchain.com/python/deepagents-code/config/Settings/get_extra_skills_dirs)

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/0412009c5441bef8d75a427e1da8909e33ab5b56/libs/code/deepagents_code/config.py#L1575)