# Settings

> **Class** in `deepagents_cli`

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

Global settings and environment detection for deepagents-cli.

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,
)
```

## 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,
) -> 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` |


## 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`
- `has_openai`
- `has_anthropic`
- `has_google`
- `has_nvidia`
- `has_vertex_ai`
- `has_tavily`
- `user_deepagents_dir`
- `user_agents_dir`

## Methods

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

---

[View source on GitHub](https://github.com/langchain-ai/deepagents/blob/64ecf141be0479f859f4efe25d139166b45ee18c/libs/cli/deepagents_cli/config.py#L846)