Utilize esta página como referência pesquisável para os ficheiros de configuração do Codex. Para obter orientações conceptuais e exemplos, comece por Noções básicas de configuração e Configuração avançada .
config.toml
A configuração ao nível do utilizador encontra-se em ~/.codex/config.toml. Também pode adicionar substituições específicas do projeto em ficheiros .codex/config.toml. O Codex só carrega ficheiros de configuração específicos do projeto quando confia no projeto.
A configuração específica do projeto não pode substituir chaves locais da máquina relativas ao fornecedor, à autenticação,
a metadados de pedidos de aplicações pertencentes ao anfitrião, a notificações, à seleção do perfil de configuração
ou ao encaminhamento de telemetria. O Codex ignora openai_base_url,
chatgpt_base_url, apps_mcp_product_sku, model_provider,
model_providers, notify, profile, profiles,
experimental_realtime_ws_base_url e otel quando surgem num
.codex/config.toml local do projeto; em vez disso, coloque as chaves do fornecedor, de notificação e de telemetria
na configuração ao nível do utilizador. Os ficheiros de perfil de configuração encontram-se junto de
config.toml como $CODEX_HOME/profile-name.config.toml; selecione um com
--profile profile-name.
Para as chaves de sandbox e aprovação (approval_policy, sandbox_mode e sandbox_workspace_write.*), consulte esta referência em conjunto com Sandbox e aprovações , Caminhos protegidos em raízes com permissão de escrita e Acesso à rede . Para perfis de permissões beta, consulte Permissões .
<ConfigTable
options={[
{
key: "model",
type: "string",
description: "Modelo a utilizar (por exemplo, gpt-5.5).",
},
{
key: "review_model",
type: "string",
description:
"Substituição opcional do modelo utilizado por /review (a predefinição é o modelo da sessão atual).",
},
{
key: "model_provider",
type: "string",
description: "ID do fornecedor de model_providers (predefinição: openai).",
},
{
key: "openai_base_url",
type: "string",
description:
"Substituição do URL base para o fornecedor de modelos openai incorporado.",
},
{
key: "model_context_window",
type: "number",
description: "Tokens da janela de contexto disponíveis para o modelo ativo.",
},
{
key: "model_auto_compact_token_limit",
type: "number",
description:
"Limiar de tokens que aciona a compactação automática do histórico (se não for definido, utiliza as predefinições do modelo).",
},
{
key: "model_auto_compact_token_limit_scope",
type: "total | body_after_prefix",
description:
"Controla se o limiar de compactação automática contabiliza todo o contexto ativo (total, a predefinição) ou apenas o crescimento após o prefixo transportado da janela de compactação (body_after_prefix).",
},
{
key: "model_catalog_json",
type: "string (path)",
description:
"Caminho opcional para um catálogo de modelos JSON carregado no arranque. Um ficheiro de perfil $CODEX_HOME/profile-name.config.toml selecionado pode substituí-lo por perfil.",
},
{
key: "oss_provider",
type: "lmstudio | ollama",
description:
"Fornecedor local predefinido utilizado ao executar com --oss (se não for definido, a predefinição é solicitar uma escolha).",
},
{
key: "approval_policy",
type: "untrusted | on-request | never | { granular = { sandbox_approval = bool, rules = bool, mcp_elicitations = bool, request_permissions = bool, skill_approval = bool } }",
description:
"Controla quando o Codex pausa para solicitar aprovação antes de executar comandos. Também pode utilizar approval_policy = { granular = { ... } } para permitir ou rejeitar automaticamente categorias específicas de pedidos, mantendo os restantes pedidos interativos. on-failure foi descontinuado; utilize on-request para execuções interativas ou never para execuções não interativas.",
},
{
key: "approval_policy.granular.sandbox_approval",
type: "boolean",
description:
"Quando true, é permitida a apresentação de pedidos de aprovação para escalamento da sandbox.",
},
{
key: "approval_policy.granular.rules",
type: "boolean",
description:
"Quando true, é permitida a apresentação de aprovações acionadas por regras prompt de execpolicy.",
},
{
key: "approval_policy.granular.mcp_elicitations",
type: "boolean",
description:
"Quando true, é permitida a apresentação de pedidos de elicitação MCP em vez de serem rejeitados automaticamente.",
},
{
key: "approval_policy.granular.request_permissions",
type: "boolean",
description:
"Quando true, é permitida a apresentação de pedidos da ferramenta request_permissions.",
},
{
key: "approval_policy.granular.skill_approval",
type: "boolean",
description:
"Quando true, é permitida a apresentação de pedidos de aprovação de scripts de competências.",
},
{
key: "approvals_reviewer",
type: "user | auto_review",
description:
"Quem analisa os pedidos de aprovação elegíveis ao abrigo de on-request ou de políticas de aprovação granulares. A predefinição é user; auto_review utiliza o subagente revisor. Esta definição não altera a utilização da sandbox nem as ações de revisão já permitidas na sandbox.",
},
{
key: "auto_review.policy",
type: "string",
description:
"Instruções locais de política em Markdown para revisão automática. O guardian_policy_config gerido tem precedência. Os valores em branco são ignorados.",
},
{
key: "allow_login_shell",
type: "boolean",
description:
"Permite que as ferramentas baseadas na shell utilizem a semântica de uma shell de início de sessão. A predefinição é true; quando false, os pedidos login = true são rejeitados e, se login for omitido, a predefinição são shells que não são de início de sessão.",
},
{
key: "sandbox_mode",
type: "read-only | workspace-write | danger-full-access",
description:
"Política da sandbox para acesso ao sistema de ficheiros e à rede durante a execução de comandos.",
},
{
key: "sandbox_workspace_write.writable_roots",
type: "array",
description:
'Raízes graváveis adicionais quando sandbox_mode = "workspace-write".',
},
{
key: "sandbox_workspace_write.network_access",
type: "boolean",
description:
"Permite acesso de saída à rede dentro da sandbox workspace-write.",
},
{
key: "sandbox_workspace_write.exclude_tmpdir_env_var",
type: "boolean",
description:
"Exclui $TMPDIR das raízes graváveis no modo workspace-write.",
},
{
key: "sandbox_workspace_write.exclude_slash_tmp",
type: "boolean",
description:
"Exclui /tmp das raízes graváveis no modo workspace-write.",
},
{
key: "windows.sandbox",
type: "unelevated | elevated",
description:
"Modo de sandbox nativo exclusivo do Windows ao executar o Codex nativamente no Windows.",
},
{
key: "windows.sandbox_private_desktop",
type: "boolean",
description:
"Executa, por predefinição, o processo subordinado final em sandbox num ambiente de trabalho privado no Windows nativo. Defina false apenas para compatibilidade com o comportamento Winsta0\\\\Default anterior.",
},
{
key: "computer_use.windows.always_allowed_app_ids",
type: "array",
description:
"Identificadores de aplicações do Windows que o Computer Use pode abrir sem solicitar aprovação. As aplicações que não constem da lista requerem aprovação; remova as entradas guardadas nas definições do Computer Use da aplicação ChatGPT para computador.",
},
{
key: "notify",
type: "array",
description:
"Comando invocado para notificações; recebe uma carga útil JSON do Codex.",
},
{
key: "check_for_update_on_startup",
type: "boolean",
description:
"Verifica a existência de atualizações do Codex no arranque (defina como false apenas quando as atualizações forem geridas centralmente).",
},
{
key: "feedback.enabled",
type: "boolean",
description:
"Ativa o envio de comentários através de /feedback em clientes locais (predefinição: true).",
},
{
key: "analytics.enabled",
type: "boolean",
description:
"Ativa ou desativa a análise para esta máquina/perfil. Quando não é definido, aplica-se a predefinição do cliente.",
},
{
key: "instructions",
type: "string",
description:
"Reservado para utilização futura; dê preferência a model_instructions_file ou AGENTS.md.",
},
{
key: "developer_instructions",
type: "string",
description:
"Instruções adicionais do programador injetadas na sessão (opcional).",
},
{
key: "log_dir",
type: "string (path)",
description:
"Diretório onde o Codex grava os ficheiros de registo; a predefinição é $CODEX_HOME/log. Definir este valor explicitamente também ativa o registo TUI opcional em texto simples, codex-tui.log, nesse diretório.",
},
{
key: "sqlite_home",
type: "string (path)",
description:
"Diretório onde o Codex armazena a base de dados de estado baseada em SQLite utilizada por tarefas de agentes e por outros estados de execução retomáveis.",
},
{
key: "compact_prompt",
type: "string",
description: "Substituição inline do pedido de compactação do histórico.",
},
{
key: "model_instructions_file",
type: "string (path)",
description:
"Substituição das instruções incorporadas em vez de AGENTS.md.",
},
{
key: "personality",
type: "none | friendly | pragmatic",
description:
"Estilo de comunicação predefinido para modelos que anunciem supportsPersonality; pode ser substituído por tópico/turno ou através de /personality.",
},
{
key: "service_tier",
type: "string",
description:
"Nível de serviço preferido para novos turnos. Utilize fast ou outro nível anunciado pelo modelo ativo; fast corresponde ao valor de pedido priority.",
},
{
key: "experimental_compact_prompt_file",
type: "string (path)",
description:
"Carrega a substituição do pedido de compactação a partir de um ficheiro (experimental).",
},
{
key: "skills.config",
type: "array",
description: "Substituições de ativação por competência armazenadas em config.toml.",
},
{
key: "skills.config..path",
type: "string (path)",
description: "Caminho para uma pasta de competência que contenha SKILL.md.",
},
{
key: "skills.config..enabled",
type: "boolean",
description: "Ativa ou desativa a competência referenciada.",
},
{
key: "apps..enabled",
type: "boolean",
description:
"Ativa ou desativa uma aplicação/conector específico por ID (predefinição: true).",
},
{
key: "apps._default.enabled",
type: "boolean",
description:
"Estado de ativação predefinido para todas as aplicações, salvo substituição por aplicação.",
},
{
key: "apps._default.destructive_enabled",
type: "boolean",
description:
"Permissão/negação predefinida para ferramentas de aplicações com destructive_hint = true.",
},
{
key: "apps._default.open_world_enabled",
type: "boolean",
description:
"Permissão/negação predefinida para ferramentas de aplicações com open_world_hint = true.",
},
{
key: "apps._default.approvals_reviewer",
type: "user | auto_review",
description:
"Revisor predefinido para pedidos de aprovação de ferramentas de aplicações, salvo substituição por aplicação. Quando omitido, as aplicações herdam o valor approvals_reviewer de nível superior.",
},
{
key: "apps._default.default_tools_approval_mode",
type: "auto | prompt | writes | approve",
description:
"Comportamento de aprovação predefinido para ferramentas de aplicações sem substituições por aplicação ou por ferramenta.",
},
{
key: "apps..destructive_enabled",
type: "boolean",
description:
"Permite ou bloqueia as ferramentas desta aplicação que anunciem destructive_hint = true.",
},
{
key: "apps..open_world_enabled",
type: "boolean",
description:
"Permite ou bloqueia as ferramentas desta aplicação que anunciem open_world_hint = true.",
},
{
key: "apps..default_tools_enabled",
type: "boolean",
description:
"Estado de ativação predefinido das ferramentas desta aplicação, salvo se existir uma substituição por ferramenta.",
},
{
key: "apps..approvals_reviewer",
type: "user | auto_review",
description:
"Revisor dos pedidos de aprovação de ferramentas desta aplicação. Substitui apps._default.approvals_reviewer.",
},
{
key: "apps..default_tools_approval_mode",
type: "auto | prompt | writes | approve",
description:
"Comportamento de aprovação predefinido para as ferramentas desta aplicação, salvo se existir uma substituição por ferramenta.",
},
{
key: "apps..tools..enabled",
type: "boolean",
description:
"Substituição do estado de ativação por ferramenta para uma ferramenta de aplicação (por exemplo, repos/list).",
},
{
key: "apps..tools..approval_mode",
type: "auto | prompt | writes | approve",
description: "Substituição do comportamento de aprovação por ferramenta para uma única ferramenta de aplicação.",
},
{
key: "tool_suggest.discoverables",
type: "array",
description:
'Permite sugestões de ferramentas para conectores ou plugins detetáveis adicionais. Cada entrada utiliza type = "connector" ou "plugin" e um id.',
},
{
key: "tool_suggest.disabled_tools",
type: "array",
description:
'Desativa sugestões para conectores ou plugins detetáveis específicos. Cada entrada utiliza type = "connector" ou "plugin" e um id.',
},
{
key: "features.apps",
type: "boolean",
description:
"Ativa integrações de aplicações (conectores) (estável; ativado por predefinição).",
},
{
key: "features.hooks",
type: "boolean",
description:
"Ativa hooks de ciclo de vida carregados de hooks.json ou da configuração inline [hooks]. features.codex_hooks é um alias descontinuado.",
},
{
key: "features.code_mode.enabled",
type: "boolean",
description:
"Ativa a configuração da funcionalidade de modo de código. Esta funcionalidade está em desenvolvimento e está desativada por predefinição.",
},
{
key: "features.code_mode.excluded_tool_namespaces",
type: "array",
description:
"Espaços de nomes de ferramentas que o modo de código exclui das orientações de ferramentas aninhadas do modo de código e da exposição ao executor.",
},
{
key: "features.code_mode.direct_only_tool_namespaces",
type: "array",
description:
"Espaços de nomes de ferramentas que o modo de código apenas pode utilizar através de chamadas diretas de ferramentas.",
},
{
key: "features.rollout_budget.enabled",
type: "boolean",
description:
"Ativa o acompanhamento do orçamento de execução. Esta funcionalidade está em desenvolvimento e está desativada por predefinição. Quando ativada, features.rollout_budget.limit_tokens é obrigatório.",
},
{
key: "features.rollout_budget.limit_tokens",
type: "integer",
description:
"Limite positivo de tokens para o acompanhamento do orçamento de execução. Obrigatório quando o orçamento de execução está ativado.",
},
{
key: "features.rollout_budget.reminder_interval_tokens",
type: "integer",
description:
"Intervalo positivo de tokens entre lembretes do orçamento de execução. A predefinição é 10% de limit_tokens, com um mínimo de 1 token.",
},
{
key: "features.rollout_budget.sampling_token_weight",
type: "number",
description:
"Multiplicador finito não negativo para tokens amostrados na contabilização do orçamento de execução. A predefinição é 1.0.",
},
{
key: "features.rollout_budget.prefill_token_weight",
type: "number",
description:
"Multiplicador finito não negativo para tokens de preenchimento prévio na contabilização do orçamento de execução. A predefinição é 1.0.",
},
{
key: "hooks",
type: "table",
description:
"Hooks de ciclo de vida configurados inline em config.toml. Utiliza o mesmo esquema de eventos que hooks.json; consulte o guia de Hooks para obter exemplos e eventos suportados.",
},
{
key: "hooks.",
type: "array",
description:
"Grupos de correspondência para eventos de hooks, como PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit ou Stop.",
},
{
key: "hooks.[].hooks",
type: "array",
description:
"Processadores de hooks para um grupo de correspondência. Atualmente, são suportados hooks de comandos; os processadores de hooks de pedidos e agentes são analisados, mas ignorados.",
},
{
key: "hooks.[].hooks[].commandWindows",
type: "string",
description:
"Substituição de comando exclusiva do Windows para hooks de comandos. O alias TOML command_windows também é aceite.",
},
{
key: "features.memories",
type: "boolean",
description:
"Ativa as Memórias (desativadas por predefinição).",
},
{
key: "mcp_servers..command",
type: "string",
description: "Comando de iniciação para um servidor MCP stdio.",
},
{
key: "mcp_servers..args",
type: "array",
description: "Argumentos transmitidos ao comando do servidor MCP stdio.",
},
{
key: "mcp_servers..env",
type: "map<string,string>",
description: "Variáveis de ambiente encaminhadas para o servidor MCP stdio.",
},
{
key: "mcp_servers..env_vars",
type: 'array<string | { name = string, source = "local" | "remote" }>',
description:
'Variáveis de ambiente adicionais a incluir na lista de permissões de um servidor MCP stdio. As entradas de cadeia utilizam source = "local" por predefinição; utilize source = "remote" apenas com stdio remoto baseado num executor.',
},
{
key: "mcp_servers..cwd",
type: "string",
description: "Diretório de trabalho do processo do servidor MCP stdio.",
},
{
key: "mcp_servers..url",
type: "string",
description: "Ponto final de um servidor HTTP MCP com transmissão contínua.",
},
{
key: "mcp_servers..auth",
type: "oauth | chatgpt",
description:
"Alternativa de autenticação para um servidor HTTP MCP após os tokens de portador e cabeçalhos de autorização configurados. oauth (predefinição) utiliza credenciais MCP OAuth armazenadas quando disponíveis. chatgpt utiliza a sessão ChatGPT atual para a origem ChatGPT primária fidedigna e, em seguida, recorre ao OAuth armazenado. Ambos os modos podem estabelecer ligação sem autenticação se não for possível resolver nenhuma origem de credenciais.",
},
{
key: "mcp_servers..bearer_token_env_var",
type: "string",
description:
"Variável de ambiente que fornece o token de portador para um servidor HTTP MCP.",
},
{
key: "mcp_servers..http_headers",
type: "map<string,string>",
description: "Cabeçalhos HTTP estáticos incluídos em cada pedido HTTP MCP.",
},
{
key: "mcp_servers..env_http_headers",
type: "map<string,string>",
description:
"Cabeçalhos HTTP preenchidos a partir de variáveis de ambiente para um servidor HTTP MCP.",
},
{
key: "mcp_servers..enabled",
type: "boolean",
description: "Desativa um servidor MCP sem remover a respetiva configuração.",
},
{
key: "mcp_servers..required",
type: "boolean",
description:
"Quando true, o arranque/retoma falha se este servidor MCP ativado não puder ser inicializado.",
},
{
key: "mcp_servers..startup_timeout_sec",
type: "number",
description:
"Substitui o tempo limite de arranque predefinido de 10 s para um servidor MCP.",
},
{
key: "mcp_servers..startup_timeout_ms",
type: "number",
description: "Alias de startup_timeout_sec em milissegundos.",
},
{
key: "mcp_servers..tool_timeout_sec",
type: "number",
description:
"Substitui o tempo limite predefinido de 60 s por ferramenta para um servidor MCP.",
},
{
key: "mcp_servers..enabled_tools",
type: "array",
description: "Lista de permissões de nomes de ferramentas expostos pelo servidor MCP.",
},
{
key: "mcp_servers..disabled_tools",
type: "array",
description:
"Lista de negação aplicada após enabled_tools para o servidor MCP.",
},
{
key: "mcp_servers..default_tools_approval_mode",
type: "auto | prompt | writes | approve",
description:
"Comportamento de aprovação predefinido para ferramentas MCP neste servidor, salvo se existir uma substituição por ferramenta.",
},
{
key: "mcp_servers..tools..approval_mode",
type: "auto | prompt | writes | approve",
description:
"Substituição do comportamento de aprovação por ferramenta para uma ferramenta MCP neste servidor.",
},
{
key: "mcp_servers..scopes",
type: "array",
description:
"Âmbitos OAuth a solicitar durante a autenticação nesse servidor MCP.",
},
{
key: "mcp_servers..oauth_resource",
type: "string",
description:
"Parâmetro opcional de recurso OAuth RFC 8707 a incluir durante o início de sessão MCP.",
},
{
key: "mcp_servers..experimental_environment",
type: "local | remote",
description:
"Localização experimental de um servidor MCP. remote inicia servidores stdio através de um ambiente de executor remoto; a localização remota de HTTP com transmissão contínua não está implementada.",
},
{
key: "agents",
type: "table",
description:
"Definições multiagente e declarações de funções personalizadas. Os nomes de definições escalares estão reservados e não podem ser utilizados como nomes de funções personalizadas.",
},
{
key: "agents.enabled",
type: "boolean",
description: "Ativa ou desativa as ferramentas multiagente (predefinição: true).",
},
{
key: "agents.max_concurrent_threads_per_session",
type: "number",
description:
"Número máximo de tópicos de agentes criados que podem estar abertos em simultâneo, excluindo o tópico principal. Quando não é definido, o Codex escolhe a predefinição.",
},
{
key: "agents.max_threads",
type: "number",
description:
"Alias antigo de agents.max_concurrent_threads_per_session.",
},
{
key: "agents.default_subagent_model",
type: "string",
description:
"Modelo predefinido para agentes criados. Um modelo explícito na criação tem precedência.",
},
{
key: "agents.default_subagent_reasoning_effort",
type: "string",
description:
"Esforço de raciocínio predefinido para agentes criados. Um esforço explícito na criação tem precedência.",
},
{
key: "agents.interrupt_message",
type: "boolean",
description:
"Regista uma mensagem visível para o modelo quando o turno de um agente é interrompido (predefinição: true).",
},
{
key: "agents..description",
type: "string",
description:
"Orientações da função apresentadas ao Codex ao escolher e criar esse tipo de agente.",
},
{
key: "agents..config_file",
type: "string (path)",
description:
"Caminho para uma camada de configuração TOML dessa função; os caminhos relativos são resolvidos a partir do ficheiro de configuração que declara a função.",
},
{
key: "memories.generate_memories",
type: "boolean",
description:
"Quando false, os tópicos recém-criados não são armazenados como entradas para a geração de memórias. A predefinição é true.",
},
{
key: "memories.use_memories",
type: "boolean",
description:
"Quando false, o Codex ignora a injeção de memórias existentes em sessões futuras. A predefinição é true.",
},
{
key: "memories.disable_on_external_context",
type: "boolean",
description:
"Quando true, os tópicos que utilizem contexto externo, como chamadas de ferramentas MCP, pesquisa na Web ou pesquisa de ferramentas, são excluídos da geração de memórias. A predefinição é false. Alias antigo: memories.no_memories_if_mcp_or_web_search.",
},
{
key: "memories.max_raw_memories_for_consolidation",
type: "number",
description:
"Número máximo de memórias não processadas recentes mantidas para consolidação global. A predefinição é 256 e o limite máximo é 4096.",
},
{
key: "memories.max_unused_days",
type: "number",
description:
"Número máximo de dias desde a última utilização de uma memória antes de deixar de ser elegível para consolidação. A predefinição é 30 e o valor é limitado ao intervalo 0-365.",
},
{
key: "memories.max_rollout_age_days",
type: "number",
description:
"Idade máxima dos tópicos considerados para geração de memórias. A predefinição é 30 e o valor é limitado ao intervalo 0-90.",
},
{
key: "memories.max_rollouts_per_startup",
type: "number",
description:
"Número máximo de execuções candidatas processadas por passagem de arranque. A predefinição é 16 e o limite máximo é 128.",
},
{
key: "memories.min_rollout_idle_hours",
type: "number",
description:
"Tempo mínimo de inatividade antes de um tópico ser considerado para geração de memórias. A predefinição é 6 e o valor é limitado ao intervalo 1-48.",
},
{
key: "memories.min_rate_limit_remaining_percent",
type: "number",
description:
"Percentagem restante mínima exigida nas janelas de limite de taxa do Codex antes de iniciar a geração de memórias. A predefinição é 25 e o valor é limitado ao intervalo 0-100.",
},
{
key: "memories.extract_model",
type: "string",
description: "Substituição opcional do modelo para extração de memórias por tópico.",
},
{
key: "memories.consolidation_model",
type: "string",
description: "Substituição opcional do modelo para consolidação global de memórias.",
},
{
key: "features.unified_exec",
type: "boolean",
description:
"Utiliza a ferramenta de execução unificada baseada em PTY (estável; ativada por predefinição, exceto no Windows).",
},
{
key: "features.shell_snapshot",
type: "boolean",
description:
"Cria um instantâneo do ambiente de shell para acelerar comandos repetidos (estável; ativado por predefinição).",
},
{
key: "features.multi_agent",
type: "boolean",
description:
"Ativa ferramentas de colaboração multiagente (spawn_agent, send_input, resume_agent, wait_agent e close_agent) (estável; ativadas por predefinição).",
},
{
key: "features.goals",
type: "boolean",
description:
"Ativa objetivos persistentes e a continuação automática (estável; ativados por predefinição).",
},
{
key: "features.remote_plugin",
type: "boolean",
description: "Ativa o catálogo remoto de plugins (estável; ativado por predefinição).",
},
{
key: "features.personality",
type: "boolean",
description:
"Ativa os controlos de seleção de personalidade (estável; ativados por predefinição).",
},
{
key: "features.network_proxy",
type: "boolean | table",
description:
"Ativa a rede em sandbox. Utilize o formato de tabela ao definir opções de política de rede, como domains (experimental; desativada por predefinição).",
},
{
key: "features.network_proxy.enabled",
type: "boolean",
description: "Ativa a rede em sandbox. A predefinição é false.",
},
{
key: "features.network_proxy.domains",
type: "map<string, allow | deny>",
description:
"Política de domínios para a rede em sandbox. Não está definida por predefinição, o que significa que não são permitidos destinos externos até adicionar regras allow. Suporta anfitriões exatos, *.example.com apenas para subdomínios, **.example.com para o domínio raiz e respetivos subdomínios e regras de permissão globais *; dê preferência a regras com âmbito limitado, pois * abre amplamente o acesso público de saída. Adicione regras deny para destinos bloqueados; deny prevalece em caso de conflito.",
},
{
key: "features.network_proxy.unix_sockets",
type: "map<string, allow | deny>",
description:
"Política de sockets Unix para a rede em sandbox. Não está definida por predefinição; adicione entradas allow para os sockets permitidos.",
},
{
key: "features.network_proxy.allow_local_binding",
type: "boolean",
description:
"Permite acesso mais amplo à rede local/privada. A predefinição é false; regras de permissão com um literal de IP local exato ou localhost ainda podem permitir destinos locais específicos.",
},
{
key: "features.network_proxy.enable_socks5",
type: "boolean",
description: "Expõe suporte para SOCKS5. A predefinição é true.",
},
{
key: "features.network_proxy.enable_socks5_udp",
type: "boolean",
description: "Permite UDP através de SOCKS5. A predefinição é true.",
},
{
key: "features.network_proxy.allow_upstream_proxy",
type: "boolean",
description:
"Permite o encadeamento através de um proxy a montante do ambiente. A predefinição é true.",
},
{
key: "features.network_proxy.dangerously_allow_non_loopback_proxy",
type: "boolean",
description:
"Permite endereços de escuta que não sejam de loopback. A predefinição é false; a ativação pode expor os serviços de escuta do proxy para além do anfitrião local.",
},
{
key: "features.network_proxy.dangerously_allow_all_unix_sockets",
type: "boolean",
description:
"Permite destinos arbitrários de sockets Unix em vez de acesso limitado à lista de permissões. A predefinição é false; utilize apenas em ambientes rigorosamente controlados.",
},
{
key: "features.network_proxy.proxy_url",
type: "string",
description:
'URL de escuta HTTP para a rede em sandbox. A predefinição é "http://127.0.0.1:3128".',
},
{
key: "features.network_proxy.socks_url",
type: "string",
description:
'URL de escuta SOCKS5. A predefinição é "http://127.0.0.1:8081".',
},
{
key: "features.web_search",
type: "boolean",
description:
"Opção legada descontinuada; dê preferência à definição de nível superior web_search.",
},
{
key: "features.web_search_cached",
type: "boolean",
description:
'Opção legada descontinuada. Quando web_search não está definido, true corresponde a web_search = "cached".',
},
{
key: "features.web_search_request",
type: "boolean",
description:
'Opção legada descontinuada. Quando web_search não está definido, true corresponde a web_search = "live".',
},
{
key: "features.shell_tool",
type: "boolean",
description:
"Ativa a ferramenta shell predefinida para executar comandos (estável; ativada por predefinição).",
},
{
key: "features.enable_request_compression",
type: "boolean",
description:
"Comprime corpos de pedidos de transmissão contínua com zstd quando suportado (estável; ativado por predefinição).",
},
{
key: "features.skill_mcp_dependency_install",
type: "boolean",
description:
"Permite solicitar e instalar dependências MCP em falta para competências (estável; ativado por predefinição).",
},
{
key: "features.fast_mode",
type: "boolean",
description:
"Ativa a seleção do nível de serviço do catálogo de modelos na TUI, incluindo comandos do nível Fast quando anunciados pelo modelo ativo (estável; ativada por predefinição).",
},
{
key: "features.prevent_idle_sleep",
type: "boolean",
description:
"Impede que a máquina entre em suspensão enquanto um turno está em execução ativa (experimental; desativado por predefinição).",
},
{
key: "suppress_unstable_features_warning",
type: "boolean",
description:
"Suprime o aviso apresentado quando são ativados sinalizadores de funcionalidades em desenvolvimento.",
},
{
key: "model_providers.",
type: "table",
description:
"Definição de fornecedor personalizado. Os IDs de fornecedores incorporados (openai, ollama e lmstudio) estão reservados e não podem ser substituídos.",
},
{
key: "model_providers..name",
type: "string",
description: "Nome de apresentação de um fornecedor de modelos personalizado.",
},
{
key: "model_providers..base_url",
type: "string",
description: "URL base da API do fornecedor de modelos.",
},
{
key: "model_providers..env_key",
type: "string",
description: "Variável de ambiente que fornece a API key do fornecedor.",
},
{
key: "model_providers..env_key_instructions",
type: "string",
description: "Orientações de configuração opcionais para a API key do fornecedor.",
},
{
key: "model_providers..experimental_bearer_token",
type: "string",
description:
"Token de portador direto para o fornecedor (desaconselhado; utilize env_key).",
},
{
key: "model_providers..requires_openai_auth",
type: "boolean",
description:
"O fornecedor utiliza autenticação OpenAI (a predefinição é false).",
},
{
key: "model_providers..wire_api",
type: "responses",
description:
"Protocolo utilizado pelo fornecedor. responses é o único valor suportado e é a predefinição quando omitido.",
},
{
key: "model_providers..query_params",
type: "map<string,string>",
description: "Parâmetros de consulta adicionais anexados aos pedidos ao fornecedor.",
},
{
key: "model_providers..http_headers",
type: "map<string,string>",
description: "Cabeçalhos HTTP estáticos adicionados aos pedidos ao fornecedor.",
},
{
key: "model_providers..env_http_headers",
type: "map<string,string>",
description:
"Cabeçalhos HTTP preenchidos a partir de variáveis de ambiente quando presentes.",
},
{
key: "model_providers..request_max_retries",
type: "number",
description:
"Número de novas tentativas para pedidos HTTP ao fornecedor (predefinição: 4).",
},
{
key: "model_providers..stream_max_retries",
type: "number",
description: "Número de novas tentativas para interrupções de transmissão SSE (predefinição: 5).",
},
{
key: "model_providers..stream_idle_timeout_ms",
type: "number",
description:
"Tempo limite de inatividade para transmissões SSE em milissegundos (predefinição: 300000).",
},
{
key: "model_providers..supports_websockets",
type: "boolean",
description:
"Indica se esse fornecedor suporta o transporte WebSocket da Responses API.",
},
{
key: "model_providers..supports_standalone_web_search",
type: "boolean",
description:
"Anuncia suporte para um ponto final de pesquisa autónoma na Web compatível (predefinição: false). A pesquisa autónoma continua em desenvolvimento e está desativada por predefinição; a compatibilidade do fornecedor, por si só, não a ativa.",
},
{
key: "model_providers..auth",
type: "table",
description:
"Configuração de token de portador baseada em comandos para um fornecedor personalizado. Não combine com env_key, experimental_bearer_token ou requires_openai_auth.",
},
{
key: "model_providers..auth.command",
type: "string",
description:
"Comando a executar quando o Codex necessita de um token de portador. O comando tem de imprimir o token em stdout.",
},
{
key: "model_providers..auth.args",
type: "array",
description: "Argumentos transmitidos ao comando de token.",
},
{
key: "model_providers..auth.timeout_ms",
type: "number",
description:
"Tempo máximo de execução do comando de token em milissegundos (predefinição: 5000).",
},
{
key: "model_providers..auth.refresh_interval_ms",
type: "number",
description:
"Frequência com que o Codex atualiza proativamente o token, em milissegundos (predefinição: 300000). Defina como 0 para atualizar apenas após uma nova tentativa de autenticação.",
},
{
key: "model_providers..auth.cwd",
type: "string (path)",
description: "Diretório de trabalho do comando de token.",
},
{
key: "model_providers.amazon-bedrock.aws.profile",
type: "string",
description:
"Nome do perfil AWS utilizado pelo fornecedor amazon-bedrock incorporado.",
},
{
key: "model_providers.amazon-bedrock.aws.region",
type: "string",
description: "Região AWS utilizada pelo fornecedor amazon-bedrock incorporado.",
},
{
key: "model_reasoning_effort",
type: "minimal | low | medium | high | xhigh",
description:
"Ajusta o esforço de raciocínio para modelos suportados (apenas Responses API; xhigh depende do modelo).",
},
{
key: "plan_mode_reasoning_effort",
type: "none | minimal | low | medium | high | xhigh",
description:
"Substituição do esforço de raciocínio específica do modo Plano. Quando não é definido, o modo Plano utiliza a predefinição incorporada.",
},
{
key: "model_reasoning_summary",
type: "auto | concise | detailed | none",
description:
"Seleciona o nível de detalhe do resumo do raciocínio ou desativa totalmente os resumos.",
},
{
key: "model_verbosity",
type: "low | medium | high",
description:
"Substituição opcional da verbosidade da GPT-5 Responses API; quando não é definida, é utilizada a predefinição do modelo/preset selecionado.",
},
{
key: "model_supports_reasoning_summaries",
type: "boolean",
description: "Força o Codex a enviar ou não enviar metadados de raciocínio.",
},
{
key: "shell_environment_policy.inherit",
type: "all | core | none",
description:
"Herança de base do ambiente ao criar subprocessos.",
},
{
key: "shell_environment_policy.ignore_default_excludes",
type: "boolean",
description:
"Mantém as variáveis que contenham KEY, SECRET ou TOKEN antes da execução dos restantes filtros (predefinição: true). Defina como false para aplicar exclusões automáticas de nomes de segredos.",
},
{
key: "shell_environment_policy.filters",
type: "map<string, include | exclude>",
description:
"Filtros canónicos de padrões de variáveis de ambiente que não distinguem maiúsculas de minúsculas. As entradas de inclusão criam uma lista de permissões e não podem restaurar valores excluídos. Os valores set explícitos são aplicados após as exclusões. Não combine filtros com matrizes legadas exclude ou include_only na mesma camada.",
},
{
key: "shell_environment_policy.exclude",
type: "array",
description:
"Padrões legados de exclusão de variáveis de ambiente. Utilize shell_environment_policy.filters para novas configurações; não combine ambos os formatos na mesma camada.",
},
{
key: "shell_environment_policy.include_only",
type: "array",
description:
"Lista de permissões legada de padrões de variáveis de ambiente. Utilize shell_environment_policy.filters para novas configurações; não combine ambos os formatos na mesma camada.",
},
{
key: "shell_environment_policy.set",
type: "map<string,string>",
description:
"Valores de ambiente explícitos injetados após as exclusões; os filtros de inclusão ainda podem removê-los.",
},
{
key: "shell_environment_policy.experimental_use_profile",
type: "boolean",
description: "Utiliza o perfil da shell do utilizador ao criar subprocessos.",
},
{
key: "project_root_markers",
type: "array",
description:
"Lista de nomes de ficheiros marcadores da raiz do projeto; utilizada ao pesquisar a raiz do projeto nos diretórios superiores.",
},
{
key: "project_doc_max_bytes",
type: "number",
description:
"Número máximo de bytes lidos de AGENTS.md ao criar instruções do projeto.",
},
{
key: "project_doc_fallback_filenames",
type: "array",
description: "Nomes de ficheiros adicionais a tentar quando AGENTS.md está em falta.",
},
{
key: "history.persistence",
type: "save-all | none",
description:
"Controla se o Codex guarda as transcrições das sessões em history.jsonl.",
},
{
key: "tool_output_token_limit",
type: "number",
description:
"Orçamento de tokens para armazenar no histórico resultados individuais de ferramentas/funções.",
},
{
key: "background_terminal_max_timeout",
type: "number",
description:
"Janela máxima de consulta, em milissegundos, para consultas write_stdin vazias (consulta de terminais em segundo plano). Predefinição: 300000 (5 minutos). Substitui a chave background_terminal_timeout anterior.",
},
{
key: "history.max_bytes",
type: "number",
description:
"Se for definido, limita o tamanho do ficheiro de histórico em bytes, removendo as entradas mais antigas.",
},
{
key: "file_opener",
type: "vscode | vscode-insiders | windsurf | cursor | none",
description:
"Esquema URI utilizado para abrir citações a partir dos resultados do Codex (predefinição: vscode).",
},
{
key: "otel.environment",
type: "string",
description:
"Etiqueta do ambiente aplicada aos eventos OpenTelemetry emitidos (predefinição: dev).",
},
{
key: "otel.exporter",
type: "none | otlp-http | otlp-grpc",
description:
"Seleciona o exportador OpenTelemetry e fornece os metadados do ponto final.",
},
{
key: "otel.trace_exporter",
type: "none | otlp-http | otlp-grpc",
description:
"Seleciona o exportador de rastreios OpenTelemetry e fornece os metadados do ponto final.",
},
{
key: "otel.metrics_exporter",
type: "none | statsig | otlp-http | otlp-grpc",
description:
"Seleciona o exportador de métricas OpenTelemetry (a predefinição é statsig).",
},
{
key: "otel.log_user_prompt",
type: "boolean",
description:
"Aceita a exportação de pedidos não processados do utilizador com os registos OpenTelemetry.",
},
{
key: "otel.exporter..endpoint",
type: "string",
description: "Ponto final do exportador para registos OTEL.",
},
{
key: "otel.exporter..protocol",
type: "binary | json",
description: "Protocolo utilizado pelo exportador OTLP/HTTP.",
},
{
key: "otel.exporter..headers",
type: "map<string,string>",
description: "Cabeçalhos estáticos incluídos nos pedidos do exportador OTEL.",
},
{
key: "otel.trace_exporter..endpoint",
type: "string",
description: "Ponto final do exportador de rastreios para registos OTEL.",
},
{
key: "otel.trace_exporter..protocol",
type: "binary | json",
description: "Protocolo utilizado pelo exportador de rastreios OTLP/HTTP.",
},
{
key: "otel.trace_exporter..headers",
type: "map<string,string>",
description: "Cabeçalhos estáticos incluídos nos pedidos do exportador de rastreios OTEL.",
},
{
key: "otel.exporter..tls.ca-certificate",
type: "string",
description: "Caminho do certificado CA para o TLS do exportador OTEL.",
},
{
key: "otel.exporter..tls.client-certificate",
type: "string",
description: "Caminho do certificado de cliente para o TLS do exportador OTEL.",
},
{
key: "otel.exporter..tls.client-private-key",
type: "string",
description: "Caminho da chave privada do cliente para o TLS do exportador OTEL.",
},
{
key: "otel.trace_exporter..tls.ca-certificate",
type: "string",
description: "Caminho do certificado CA para o TLS do exportador de rastreios OTEL.",
},
{
key: "otel.trace_exporter..tls.client-certificate",
type: "string",
description: "Caminho do certificado de cliente para o TLS do exportador de rastreios OTEL.",
},
{
key: "otel.trace_exporter..tls.client-private-key",
type: "string",
description: "Caminho da chave privada do cliente para o TLS do exportador de rastreios OTEL.",
},
{
key: "tui",
type: "table",
description:
"Opções específicas da TUI, como a ativação de notificações inline no ambiente de trabalho.",
},
{
key: "tui.notifications",
type: "boolean | array",
description:
"Ativa as notificações da TUI; opcionalmente, restringe-as a tipos de eventos específicos.",
},
{
key: "tui.notification_method",
type: "auto | osc9 | bel",
description:
"Método de notificação para notificações do terminal (predefinição: auto).",
},
{
key: "tui.notification_condition",
type: "unfocused | always",
description:
"Controla se as notificações da TUI são acionadas apenas quando o terminal não tem o foco ou independentemente do foco. A predefinição é unfocused.",
},
{
key: "tui.animations",
type: "boolean",
description:
"Ativa animações do terminal (ecrã de boas-vindas, brilho e indicador de progresso) (predefinição: true).",
},
{
key: "tui.alternate_screen",
type: "auto | always | never",
description:
"Controla a utilização do ecrã alternativo pela TUI (predefinição: auto; no Zellij, auto ignora-o para preservar o histórico de deslocamento).",
},
{
key: "tui.resume_cwd",
type: "current | session",
description:
"Diretório de trabalho a utilizar ao retomar ou bifurcar uma sessão. Quando não é definido, o Codex pede-lhe que escolha se o diretório atual for diferente do diretório guardado da sessão.",
},
{
key: "tui.vim_mode_default",
type: "boolean",
description:
"Inicia o compositor no modo normal do Vim em vez do modo de inserção (predefinição: false). Pode continuar a alterná-lo por sessão com /vim.",
},
{
key: "tui.raw_output_mode",
type: "boolean",
description:
"Inicia a TUI no modo de histórico de deslocamento não processado para facilitar a seleção e cópia no terminal (predefinição: false). Pode alterná-lo com /raw ou com o atalho de teclado predefinido alt-r.",
},
{
key: "tui.show_tooltips",
type: "boolean",
description:
"Apresenta descrições de integração no ecrã de boas-vindas da TUI (predefinição: true).",
},
{
key: "tui.status_line",
type: "array | null",
description:
"Lista ordenada de identificadores de itens da linha de estado no rodapé da TUI. null desativa a linha de estado.",
},
{
key: "tui.terminal_title",
type: "array | null",
description:
'Lista ordenada de identificadores de itens do título da janela/separador do terminal. A predefinição é ["spinner", "project"]; null desativa as atualizações do título.',
},
{
key: "tui.theme",
type: "string",
description:
"Substituição do tema de realce de sintaxe (nome do tema em kebab-case).",
},
{
key: "tui.keymap..",
type: "string | array",
description:
"Associação de atalho de teclado para uma ação da TUI. Os contextos suportados incluem global, chat, composer, editor, vim_normal, vim_operator, vim_text_object, pager, list e approval. Algumas ações do compositor recorrem a associações tui.keymap.global correspondentes; as associações específicas do contexto têm precedência quando suportadas.",
},
{
key: "tui.keymap.. = []",
type: "empty array",
description:
"Remove a associação da ação nesse contexto de mapa de teclas. Os nomes das teclas utilizam cadeias normalizadas, como ctrl-a, shift-enter, page-down ou minus.",
},
{
key: "plugins..mcp_servers..enabled",
type: "boolean",
description:
"Ativa ou desativa um servidor MCP incluído num plugin instalado sem alterar o manifesto do plugin.",
},
{
key: "plugins..mcp_servers..default_tools_approval_mode",
type: "auto | prompt | writes | approve",
description:
"Comportamento de aprovação predefinido para ferramentas num servidor MCP fornecido por um plugin.",
},
{
key: "plugins..mcp_servers..enabled_tools",
type: "array",
description:
"Lista de permissões das ferramentas expostas por um servidor MCP fornecido por um plugin.",
},
{
key: "plugins..mcp_servers..disabled_tools",
type: "array",
description:
"Lista de negação aplicada após enabled_tools para um servidor MCP fornecido por um plugin.",
},
{
key: "plugins..mcp_servers..tools..approval_mode",
type: "auto | prompt | writes | approve",
description:
"Substituição do comportamento de aprovação por ferramenta para uma ferramenta MCP fornecida por um plugin.",
},
{
key: "tui.model_availability_nux.",
type: "integer",
description: "Estado interno da descrição de arranque indexado pelo slug do modelo.",
},
{
key: "hide_agent_reasoning",
type: "boolean",
description:
"Suprime eventos de raciocínio tanto na TUI como no resultado codex exec.",
},
{
key: "show_raw_agent_reasoning",
type: "boolean",
description:
"Apresenta o conteúdo não processado do raciocínio quando o modelo ativo o emite.",
},
{
key: "disable_paste_burst",
type: "boolean",
description: "Desativa a deteção de colagens em rajada na TUI.",
},
{
key: "windows_wsl_setup_acknowledged",
type: "boolean",
description: "Regista a confirmação da integração no Windows (apenas Windows).",
},
{
key: "chatgpt_base_url",
type: "string",
description: "Substitui o URL base utilizado durante o fluxo de início de sessão do ChatGPT.",
},
{
key: "cli_auth_credentials_store",
type: "file | keyring | auto",
description:
"Controla onde a CLI armazena as credenciais em cache (auth.json baseado em ficheiro ou porta-chaves do SO).",
},
{
key: "mcp_oauth_credentials_store",
type: "auto | file | keyring",
description: "Armazenamento preferido para credenciais MCP OAuth.",
},
{
key: "mcp_oauth_callback_port",
type: "integer",
description:
"Porta fixa opcional para o servidor de chamada de retorno HTTP local utilizado durante o início de sessão MCP OAuth. Quando não é definida, o Codex associa-se a uma porta efémera escolhida pelo SO.",
},
{
key: "mcp_oauth_callback_url",
type: "string",
description:
"Substituição opcional do URL base de chamada de retorno para o início de sessão MCP OAuth (por exemplo, um URL de entrada de uma devbox). O Codex anexa um ID de chamada de retorno específico do servidor antes de enviar o redirect_uri OAuth final; por isso, registe o URI derivado completo junto do seu fornecedor. mcp_oauth_callback_port continua a controlar a porta do serviço de escuta de chamadas de retorno.",
},
{
key: "experimental_use_unified_exec_tool",
type: "boolean",
description:
"Nome legado para ativar a execução unificada; dê preferência a [features].unified_exec ou codex --enable unified_exec.",
},
{
key: "tools.web_search",
type: 'boolean | { context_size = "low|medium|high", allowed_domains = [string], location = { country, region, city, timezone } }',
description:
"Configuração opcional da ferramenta de pesquisa na Web. O formato booleano legado continua a ser aceite, mas o formato de objeto permite definir o tamanho do contexto de pesquisa, os domínios permitidos e a localização aproximada do utilizador.",
},
{
key: "tools.view_image",
type: "boolean",
description: "Ativa a ferramenta de anexação de imagens locais view_image.",
},
{
key: "web_search",
type: "disabled | cached | indexed | live",
description:
'Modo de pesquisa na Web (predefinição: "cached"; cached utiliza um índice mantido pela OpenAI sem acesso externo à Web; indexed apenas permite acesso externo quando autorizado pelo índice de pesquisa; se utilizar --yolo ou outra definição de sandbox com acesso total, a predefinição é "live"). Utilize "live" para obtenção irrestrita em tempo real ou "disabled" para remover a ferramenta.',
},
{
key: "default_permissions",
type: "string",
description:
"Nome do perfil de permissões predefinido a aplicar às chamadas de ferramentas em sandbox. Os perfis incorporados são :read-only, :workspace e :danger-full-access; os nomes de perfis personalizados exigem tabelas [permissions.<name>] correspondentes. Não combine com sandbox_mode ou [sandbox_workspace_write].",
},
{
key: "permissions..description",
type: "string",
description:
"Descrição legível deste perfil com nome. Um perfil não herda a descrição do perfil principal através de extends.",
},
{
key: "permissions..extends",
type: "string",
description:
"Perfil principal opcional aplicado antes deste perfil com nome. Defina-o como outro perfil com nome, :read-only ou :workspace; :danger-full-access, perfis principais indefinidos e ciclos são rejeitados.",
},
{
key: "permissions..workspace_roots",
type: "table",
description:
"Raízes do espaço de trabalho definidas pelo perfil que recebem regras de sistema de ficheiros :workspace_roots juntamente com as raízes do espaço de trabalho da sessão em execução.",
},
{
key: "permissions..workspace_roots.",
type: "boolean",
description:
"Inclui um caminho no conjunto de raízes do espaço de trabalho do perfil quando true. As entradas desativadas permanecem inativas.",
},
{
key: "permissions..filesystem",
type: "table",
description:
"Perfil de permissões do sistema de ficheiros com nome. Cada chave é um caminho absoluto ou um token especial, como :minimal ou :workspace_roots.",
},
{
key: "permissions..filesystem.glob_scan_max_depth",
type: "number",
description:
"Profundidade máxima para expandir padrões glob de negação de leitura em plataformas que criam instantâneos das correspondências antes do arranque da sandbox. Quando definido, tem de ser pelo menos 1.",
},
{
key: "permissions..filesystem.",
type: '"read" | "write" | "deny" | table',
description:
'Concede acesso direto a um caminho, padrão glob ou token especial, ou limita entradas aninhadas a essa raiz. Utilize "deny" para negar a leitura de caminhos correspondentes.',
},
{
key: 'permissions..filesystem.":workspace_roots".',
type: '"read" | "write" | "deny"',
description:
'Acesso ao sistema de ficheiros com âmbito relativo a cada raiz efetiva do espaço de trabalho. Utilize "." para a própria raiz; subcaminhos glob, como "**/*.env", podem negar leituras com "deny".',
},
{
key: "permissions..network.enabled",
type: "boolean",
description:
"Ativa o acesso à rede para este perfil de permissões com nome. Isto altera a política de rede da sandbox; não inicia o proxy de rede por si só.",
},
{
key: "permissions..network.proxy_url",
type: "string",
description:
"URL de escuta HTTP utilizado quando este perfil de permissões ativa a rede em sandbox.",
},
{
key: "permissions..network.enable_socks5",
type: "boolean",
description:
"Expõe suporte para SOCKS5 quando este perfil de permissões ativa a rede em sandbox.",
},
{
key: "permissions..network.socks_url",
type: "string",
description: "Ponto final do proxy SOCKS5 utilizado por este perfil de permissões.",
},
{
key: "permissions..network.enable_socks5_udp",
type: "boolean",
description: "Permite UDP através do serviço de escuta SOCKS5 quando ativado.",
},
{
key: "permissions..network.allow_upstream_proxy",
type: "boolean",
description:
"Permite que a rede em sandbox seja encadeada através de outro proxy a montante.",
},
{
key: "permissions..network.dangerously_allow_non_loopback_proxy",
type: "boolean",
description:
"Permite endereços de associação que não sejam de loopback para serviços de escuta da rede em sandbox. A ativação pode expor os serviços de escuta para além do anfitrião local.",
},
{
key: "permissions..network.dangerously_allow_all_unix_sockets",
type: "boolean",
description:
"Permite destinos arbitrários de sockets Unix em vez do conjunto restrito predefinido. Utilize apenas em ambientes rigorosamente controlados.",
},
{
key: "permissions..network.mode",
type: "limited | full",
description: "Modo do proxy de rede utilizado para o tráfego de subprocessos.",
},
{
key: "permissions..network.domains",
type: "table",
description:
"Regras de domínios para a rede em sandbox. Suporta anfitriões exatos, *.example.com apenas para subdomínios, **.example.com para o domínio raiz e respetivos subdomínios e regras de permissão globais *. deny prevalece em caso de conflito.",
},
{
key: "permissions..network.domains.",
type: "allow | deny",
description:
"Permite ou nega um anfitrião exato ou um padrão de caracteres universais com âmbito, como *.example.com ou **.example.com.",
},
{
key: "permissions..network.unix_sockets",
type: "table",
description:
"Substituições da lista de permissões de sockets Unix para a rede em sandbox. Utilize caminhos de sockets como chaves; allow adiciona um caminho e deny rejeita-o.",
},
{
key: "permissions..network.unix_sockets.",
type: "allow | deny",
description:
"Adiciona um caminho absoluto de socket Unix à lista de permissões efetiva com allow ou rejeita-o com deny. As entradas negadas são omitidas da lista de permissões efetiva.",
},
{
key: "permissions..network.allow_local_binding",
type: "boolean",
description:
"Permite acesso mais amplo à rede local/privada através da rede em sandbox. Regras de permissão com um literal de IP local exato ou localhost ainda podem permitir destinos locais específicos enquanto este valor se mantiver como false.",
},
{
key: "projects..trust_level",
type: "string",
description:
'Marca um projeto ou worktree como fidedigno ou não fidedigno ("trusted" | "untrusted"). Os projetos não fidedignos ignoram as camadas .codex/ com âmbito de projeto, incluindo a configuração, os hooks e as regras locais do projeto.',
},
{
key: "notice.hide_full_access_warning",
type: "boolean",
description: "Regista a confirmação do aviso de acesso total.",
},
{
key: "notice.hide_world_writable_warning",
type: "boolean",
description:
"Regista a confirmação do aviso de diretórios do Windows graváveis por todos.",
},
{
key: "notice.hide_rate_limit_model_nudge",
type: "boolean",
description: "Regista a desativação do lembrete para mudar de modelo devido ao limite de taxa.",
},
{
key: "notice.hide_gpt5_1_migration_prompt",
type: "boolean",
description: "Regista a confirmação do pedido de migração para GPT-5.1.",
},
{
key: "notice.hide_gpt-5.1-codex-max_migration_prompt",
type: "boolean",
description:
"Regista a confirmação do pedido de migração para gpt-5.1-codex-max.",
},
{
key: "notice.model_migrations",
type: "map<string,string>",
description: "Regista as migrações de modelos confirmadas como mapeamentos antigo->novo.",
},
{
key: "forced_login_method",
type: "chatgpt | api",
description: "Restringe o Codex a um método de autenticação específico.",
},
{
key: "forced_chatgpt_workspace_id",
type: "string (uuid)",
description: "Limita os inícios de sessão do ChatGPT a um identificador de espaço de trabalho específico.",
},
]}
client:load
/>
Pode encontrar o esquema JSON mais recente para config.toml aqui .
Para obter conclusão automática e diagnósticos ao editar config.toml no VS Code ou Cursor, pode instalar a extensão Even Better TOML e adicionar esta linha ao início do seu config.toml:
#:schema https://developers.openai.com/codex/config-schema.json Nota: mude o nome de experimental_instructions_file para model_instructions_file. O Codex está a descontinuar a chave antiga; atualize as configurações existentes para o novo nome.
requirements.toml
requirements.toml é um ficheiro de configuração imposto pelo administrador que restringe definições sensíveis em termos de segurança que os utilizadores não podem substituir. Para obter detalhes, localizações e exemplos, consulte Requisitos impostos pelo administrador .
Para utilizadores do ChatGPT Business e Enterprise, o Codex também pode aplicar requisitos obtidos da cloud.
Consulte a página de segurança para obter detalhes sobre a precedência.
Utilize [features] em requirements.toml para fixar sinalizadores de funcionalidades em tempo de execução através das mesmas
chaves canónicas utilizadas por config.toml. Os requisitos também podem incluir chaves documentadas
exclusivas da aplicação que não pertencem a config.toml. As chaves omitidas permanecem
sem restrições.
Alguns requisitos geridos impõem um valor de configuração exato em vez de uma
lista de permissões. Os utilizadores não podem substituir um caminho imposto, uma preferência de atualização, uma política de shell
de início de sessão, uma definição de comentários nem uma definição de ambiente de trabalho privado do Windows.
As listas de permissões de perfis de permissões geridas requerem o Codex 0.138.0 ou posterior. O Codex
0.137.0 e versões anteriores ignoram allowed_permission_profiles e o
default_permissions gerido.
Utilize allowed_sandbox_modes com sandbox_mode. Para implementações de perfis de
permissões, utilize allowed_permission_profiles com o
default_permissions gerido.
A tabela [models.new_thread] fornece predefinições geridas, não imposições.
As escolhas de início explícitas feitas através de sinalizadores dedicados da CLI ou substituições de --config têm
precedência. Uma substituição explícita do modelo ou do esforço de raciocínio ignora ambos os campos
geridos do modelo; service_tier é independente.
<ConfigTable
options={[
{
key: "sqlite_home",
type: "string (path)",
description:
"Impõe o diretório onde o Codex armazena o estado de tempo de execução suportado por SQLite.",
},
{
key: "log_dir",
type: "string (path)",
description: "Impõe o diretório onde o Codex escreve ficheiros de registo locais.",
},
{
key: "model_catalog_json",
type: "string (path)",
description: "Impõe o catálogo de modelos JSON que o Codex utiliza no arranque.",
},
{
key: "check_for_update_on_startup",
type: "boolean",
description: "Impõe se o Codex procura atualizações quando é iniciado.",
},
{
key: "allow_login_shell",
type: "boolean",
description: "Impõe se as ferramentas de shell podem iniciar uma shell de início de sessão.",
},
{
key: "feedback",
type: "table",
description: "Definições geridas de comentários.",
},
{
key: "feedback.enabled",
type: "boolean",
description:
"Impõe se os utilizadores podem enviar comentários através dos clientes Codex.",
},
{
key: "allowed_approval_policies",
type: "array",
description:
"Valores permitidos para approval_policy (por exemplo, untrusted, on-request, never e granular).",
},
{
key: "allowed_approvals_reviewers",
type: "array",
description:
"Valores permitidos para approvals_reviewer, como user e auto_review.",
},
{
key: "guardian_policy_config",
type: "string",
description:
"Instruções geridas da política em Markdown para revisão automática. Têm precedência sobre o [auto_review].policy local. Os valores em branco são ignorados.",
},
{
key: "allowed_permission_profiles",
type: "table",
description:
"Lista completa de perfis de permissões permitidos. Os perfis definidos como true são permitidos. Os perfis omitidos ou definidos como false são recusados, incluindo os perfis adicionados em versões futuras. Quando as origens de requisitos são combinadas, as entradas são correspondidas pelo nome do perfil.",
},
{
key: "allowed_permission_profiles.",
type: "boolean",
description:
"Permite ou recusa um perfil de permissões incorporado ou personalizado definido numa configuração carregada ou numa origem de requisitos. Uma origem de requisitos posterior, com precedência superior, pode utilizar false para desativar um perfil permitido por uma origem anterior, com precedência inferior.",
},
{
key: "default_permissions",
type: "string",
description:
"Perfil de permissões predefinido gerido. O perfil tem de ser permitido por allowed_permission_profiles. Defina-o explicitamente para obter um comportamento previsível; se for omitido, o Codex utiliza :workspace por predefinição apenas quando :workspace e :read-only são ambos permitidos explicitamente.",
},
{
key: "enforce_residency",
type: "string",
description:
"Exige que o tráfego do serviço Codex utilize uma residência de dados suportada. Atualmente, aceita us.",
},
{
key: "models",
type: "table",
description:
"Predefinições geridas de modelos para novas conversas. Estes valores têm prioridade sobre as predefinições do utilizador e do projeto, mas uma seleção explícita para a nova conversa pode substituí-los.",
},
{
key: "models.new_thread",
type: "table",
description:
"Predefinições a aplicar quando é iniciada uma nova conversa local. Cada definição do modelo é opcional.",
},
{
key: "models.new_thread.model",
type: "string",
description:
"Modelo predefinido para novas conversas. Uma substituição explícita de --model ou de modelo/raciocínio em --config tem precedência.",
},
{
key: "models.new_thread.model_reasoning_effort",
type: "string",
description:
"Esforço de raciocínio predefinido para novas conversas. Uma substituição explícita do modelo ou do esforço de raciocínio ignora ambos os campos geridos do modelo.",
},
{
key: "models.new_thread.service_tier",
type: "string",
description:
"Nível de serviço predefinido para novas conversas. Uma substituição explícita do nível de serviço tem precedência independentemente dos campos do modelo.",
},
{
key: "permissions",
type: "table",
description:
"Perfis de permissões definidos pelo administrador, indexados pelo nome do perfil. Utilizam os mesmos campos de perfil que config.toml.",
},
{
key: "permissions.",
type: "table",
description:
"Perfil de permissões definido pelo administrador. O nome não pode começar por :, utilizar o nome reservado filesystem nem duplicar um perfil de uma configuração carregada. Utiliza os mesmos campos de perfil que config.toml; consulte o guia de Permissões para conhecer o esquema completo do perfil.",
},
{
key: "allowed_sandbox_modes",
type: "array",
description: "Valores permitidos para sandbox_mode.",
},
{
key: "windows",
type: "table",
description: "Requisitos nativos da sandbox do Windows.",
},
{
key: "windows.allowed_sandbox_implementations",
type: "array",
description:
"Implementações nativas permitidas da sandbox do Windows para windows.sandbox (elevated e unelevated). A lista não pode estar vazia. Quando ambas são permitidas e nenhum modo está selecionado, o Codex prefere elevated.",
},
{
key: "windows.sandbox_private_desktop",
type: "boolean",
description:
"Impõe se a sandbox nativa do Windows inicia o respetivo processo subordinado num ambiente de trabalho privado.",
},
{
key: "remote_sandbox_config",
type: "array",
description:
"Requisitos de sandbox específicos do anfitrião. A primeira entrada cujo hostname_patterns corresponda ao nome do anfitrião resolvido substitui o allowed_sandbox_modes de nível superior para essa origem de requisitos. Atualmente, as entradas específicas do anfitrião substituem apenas os modos de sandbox.",
},
{
key: "remote_sandbox_config[].hostname_patterns",
type: "array",
description:
"Padrões de nomes de anfitrião que não distinguem maiúsculas de minúsculas. Suportam * para qualquer sequência de carateres e ? para um caráter.",
},
{
key: "remote_sandbox_config[].allowed_sandbox_modes",
type: "array",
description:
"Modos de sandbox permitidos a aplicar quando esta entrada específica do anfitrião corresponde.",
},
{
key: "allowed_web_search_modes",
type: "array",
description:
"Valores permitidos para web_search (disabled, cached, indexed, live). disabled é sempre permitido; uma lista vazia permite, na prática, apenas disabled.",
},
{
key: "allow_managed_hooks_only",
type: "boolean",
description:
"Quando definido como true, o Codex ignora os hooks do utilizador, projeto, sessão e plugin, continuando a permitir hooks geridos provenientes de requirements.toml e de outras camadas de configuração gerida.",
},
{
key: "allow_appshots",
type: "boolean",
description:
"Defina como false para desativar Appshots para utilizadores geridos. Se for omitido, Appshots permanece sem restrições impostas pelos requisitos e segue a disponibilidade normal do produto.",
},
{
key: "allow_remote_control",
type: "boolean",
description:
"Defina como false para desativar o controlo remoto de dispositivos para utilizadores geridos. Se for omitido, o controlo remoto de dispositivos permanece sem restrições impostas pelos requisitos e segue a disponibilidade normal do produto.",
},
{
key: "features.plugin_sharing",
type: "boolean",
description:
"Defina como false no requirements.toml gerido na cloud para desativar a partilha no espaço de trabalho de plugins criados localmente.",
},
{
key: "features",
type: "table",
description:
"Valores fixos de funcionalidades. Utilize nomes canónicos de config.toml para funcionalidades de tempo de execução; as chaves de requisitos documentadas exclusivas da aplicação também são suportadas aqui.",
},
{
key: "features.",
type: "boolean",
description:
"Exige que uma funcionalidade documentada de tempo de execução ou da aplicação permaneça ativada ou desativada.",
},
{
key: "features.apps",
type: "boolean",
description:
"Fixa a disponibilidade da integração Apps como ativada ou desativada para utilizadores geridos.",
},
{
key: "features.in_app_updates",
type: "boolean",
description:
"Defina como false em requirements.toml para desativar as atualizações na aplicação. As atualizações permanecem ativadas por predefinição quando este requisito é omitido.",
},
{
key: "features.in_app_browser",
type: "boolean",
description:
"Defina como false em requirements.toml para desativar o painel do browser incorporado.",
},
{
key: "features.browser_use",
type: "boolean",
description:
"Defina como false em requirements.toml para desativar Computer Use em browsers e a disponibilidade do Browser Agent.",
},
{
key: "features.browser_use_external",
type: "boolean",
description:
"Defina como false em requirements.toml para desativar Computer Use em browsers externos.",
},
{
key: "features.browser_use_full_cdp_access",
type: "boolean",
description:
"Defina como false em requirements.toml para desativar o acesso completo ao Chrome DevTools Protocol no ambiente de execução local, incluindo o modo Browser Developer, e impedir que a aplicação ChatGPT para computador ative a definição correspondente. Se for omitido, aplica-se a disponibilidade normal do produto.",
},
{
key: "features.fast_mode",
type: "boolean",
description:
"Fixa a funcionalidade canónica fast_mode como ativada ou desativada para utilizadores geridos.",
},
{
key: "features.guardian_approval",
type: "boolean",
description:
"Fixa a disponibilidade da aprovação Guardian como ativada ou desativada para utilizadores geridos.",
},
{
key: "features.memories",
type: "boolean",
description: "Fixa a disponibilidade de Memories como ativada ou desativada para utilizadores geridos.",
},
{
key: "features.multi_agent",
type: "boolean",
description: "Fixa a disponibilidade de vários agentes como ativada ou desativada para utilizadores geridos.",
},
{
key: "features.plugins",
type: "boolean",
description: "Fixa a disponibilidade de plugins como ativada ou desativada para utilizadores geridos.",
},
{
key: "features.remote_plugin",
type: "boolean",
description:
"Fixa a disponibilidade do catálogo remoto de plugins como ativada ou desativada para utilizadores geridos.",
},
{
key: "features.computer_use",
type: "boolean",
description:
"Defina como false em requirements.toml para desativar Computer Use, Record & Replay e os fluxos de instalação ou ativação relacionados.",
},
{
key: "features.workspace_dependencies",
type: "boolean",
description:
"Fixa a disponibilidade do ambiente de execução de dependências do espaço de trabalho incluído como ativada ou desativada para utilizadores geridos.",
},
{
key: "computer_use",
type: "table",
description:
"Requisitos de Computer Use impostos a partir de requirements.toml.",
},
{
key: "computer_use.allow_locked_computer_use",
type: "boolean",
description:
"Defina como false para impedir o funcionamento de Computer Use depois de um dispositivo macOS gerido ser bloqueado. Se for omitido, a utilização com o dispositivo bloqueado permanece sem restrições impostas pelos requisitos.",
},
{
key: "experimental_network",
type: "table",
description:
"Requisitos de acesso à rede impostos a partir de requirements.toml. Estas restrições são distintas de features.network_proxy e podem configurar redes em sandbox sem o sinalizador de funcionalidade do utilizador.",
},
{
key: "experimental_network.enabled",
type: "boolean",
description:
"Ativa os requisitos de rede em sandbox. Isto não concede acesso à rede quando a sandbox ativa mantém desativada a rede para comandos.",
},
{
key: "experimental_network.http_port",
type: "integer",
description:
"Porta do serviço de escuta HTTP de loopback a utilizar para os requisitos de [experimental_network].",
},
{
key: "experimental_network.socks_port",
type: "integer",
description:
"Porta do serviço de escuta SOCKS5 de loopback a utilizar para os requisitos de [experimental_network].",
},
{
key: "experimental_network.allow_upstream_proxy",
type: "boolean",
description:
"Permite que a rede em sandbox seja encaminhada através de um proxy a montante proveniente do ambiente.",
},
{
key: "experimental_network.dangerously_allow_non_loopback_proxy",
type: "boolean",
description:
"Permite endereços de escuta que não sejam de loopback para os requisitos de [experimental_network]. A ativação desta opção pode expor serviços de escuta para além do localhost.",
},
{
key: "experimental_network.dangerously_allow_all_unix_sockets",
type: "boolean",
description:
"Permite destinos arbitrários de sockets Unix em vez de acesso limitado à lista de permissões. Utilize apenas em ambientes rigorosamente controlados.",
},
{
key: "experimental_network.domains",
type: "map<string, allow | deny>",
description:
"Política de domínios do administrador em formato de mapa para redes em sandbox. Suporta anfitriões exatos, *.example.com apenas para subdomínios, **.example.com para o domínio de raiz e subdomínios e regras de permissão globais *; prefira regras restritas porque * abre amplamente o acesso público de saída. deny prevalece em caso de conflito. Não combine esta opção com experimental_network.allowed_domains ou experimental_network.denied_domains.",
},
{
key: "experimental_network.allowed_domains",
type: "array",
description:
"Regras de permissão do administrador em formato de lista para redes em sandbox. Não combine esta opção com experimental_network.domains.",
},
{
key: "experimental_network.denied_domains",
type: "array",
description:
"Regras de recusa do administrador em formato de lista para redes em sandbox. Não combine esta opção com experimental_network.domains.",
},
{
key: "experimental_network.managed_allowed_domains_only",
type: "boolean",
description:
"Quando definido como true, apenas as regras de permissão geridas pelo administrador permanecem em vigor enquanto os requisitos de rede em sandbox estiverem ativos; as adições do utilizador à lista de permissões são ignoradas. Sem regras de permissão geridas, as regras de permissão de domínios adicionadas pelo utilizador não permanecem em vigor.",
},
{
key: "experimental_network.unix_sockets",
type: "map<string, allow | deny>",
description:
"Política de sockets Unix gerida pelo administrador para redes em sandbox.",
},
{
key: "experimental_network.allow_local_binding",
type: "boolean",
description:
"Permite um acesso mais amplo à rede local/privada para redes em sandbox. As regras de permissão com um literal de IP local exato ou localhost ainda podem permitir destinos locais específicos quando esta opção permanece como false.",
},
{
key: "hooks",
type: "table",
description:
"Hooks geridos do ciclo de vida impostos pelo administrador. Requer um diretório de hooks geridos e utiliza o mesmo esquema de eventos que os [hooks] inline em config.toml.",
},
{
key: "hooks.managed_dir",
type: "string (absolute path)",
description:
"Diretório que contém scripts de hooks geridos no macOS e Linux. O Codex valida que é absoluto e que existe antes de carregar hooks geridos.",
},
{
key: "hooks.windows_managed_dir",
type: "string (absolute path)",
description:
"Diretório que contém scripts de hooks geridos no Windows. O Codex valida que é absoluto e que existe antes de carregar hooks geridos.",
},
{
key: "hooks.",
type: "array",
description:
"Grupos de correspondência para um evento de hook, como PreToolUse, PermissionRequest, PostToolUse, PreCompact, PostCompact, SessionStart, SessionEnd, SubagentStart, SubagentStop, UserPromptSubmit ou Stop.",
},
{
key: "hooks.[].hooks",
type: "array",
description:
"Processadores de hooks para um grupo de correspondência. Atualmente, são suportados hooks de comandos; os processadores de hooks de pedidos e agentes são analisados, mas ignorados.",
},
{
key: "hooks.[].hooks[].commandWindows",
type: "string",
description:
"Substituição de comando exclusiva do Windows para hooks de comandos. O alias TOML command_windows também é aceite.",
},
{
key: "permissions.filesystem.deny_read",
type: "array",
description:
"Recusas de leitura do sistema de ficheiros impostas pelo administrador. As entradas podem ser caminhos ou padrões glob, e os utilizadores não podem torná-las menos restritivas através da configuração local.",
},
{
key: "mcp_servers",
type: "table",
description:
"Lista de permissões de servidores MCP que podem ser ativados. Tanto o nome do servidor (<id>) como a respetiva identidade têm de corresponder para que o servidor MCP seja ativado. Qualquer servidor MCP configurado que não esteja na lista de permissões (ou cuja identidade não corresponda) é desativado.",
},
{
key: "mcp_servers..identity",
type: "table",
description:
"Regra de identidade para um único servidor MCP. Defina command (stdio) ou url (HTTP transmissível).",
},
{
key: "mcp_servers..identity.command",
type: "string | table",
description:
"Permite um servidor MCP stdio através de uma cadeia de comando exata ou utiliza uma tabela de correspondência para exigir um executável exato e correspondências ordenadas de argumentos. O formato de cadeia não inspeciona argumentos, cwd, env nem env_vars.",
},
{
key: "mcp_servers..identity.command.executable",
type: "string",
description:
"Executável ao qual o command configurado do servidor stdio tem de corresponder exatamente.",
},
{
key: "mcp_servers..identity.command.args",
type: "array",
description:
"Correspondências ordenadas de argumentos para um servidor stdio. A lista de argumentos configurada tem de ter o mesmo comprimento e todas as posições têm de corresponder. As correspondências de comandos não inspecionam cwd, env nem env_vars.",
},
{
key: "mcp_servers..identity.command.args[].match",
type: "exact | prefix | regex",
description: "Operação de correspondência para esta posição do argumento.",
},
{
key: "mcp_servers..identity.command.args[].value",
type: "string",
description: "Valor utilizado por uma correspondência de argumento exact ou prefix.",
},
{
key: "mcp_servers..identity.command.args[].expression",
type: "string",
description:
"Expressão regular utilizada por uma correspondência de argumento regex. A expressão tem de ser válida e corresponder ao valor completo do argumento.",
},
{
key: "mcp_servers..identity.url",
type: "string | table",
description:
"Permite um servidor MCP de HTTP transmissível através de uma cadeia de URL exata ou utiliza uma tabela de correspondência de valores exact, prefix ou regex.",
},
{
key: "mcp_servers..identity.url.match",
type: "exact | prefix | regex",
description: "Operação de correspondência para o URL configurado do servidor MCP.",
},
{
key: "mcp_servers..identity.url.value",
type: "string",
description: "Valor utilizado por uma correspondência de URL exact ou prefix.",
},
{
key: "mcp_servers..identity.url.expression",
type: "string",
description:
"Expressão regular utilizada por uma correspondência de URL regex. A expressão tem de ser válida e corresponder ao valor completo do URL.",
},
{
key: "plugins",
type: "table",
description:
"Listas de permissões de servidores MCP específicas de plugins, indexadas pelo identificador do plugin. Quando esta tabela está presente, os servidores incluídos em plugins sem uma entrada correspondente de plugin e servidor são desativados.",
},
{
key: "plugins..mcp_servers",
type: "table",
description:
"Lista de permissões para servidores MCP incluídos num plugin. Os requisitos de servidores de plugins utilizam os mesmos formatos de identidade exata e correspondência que os requisitos mcp_servers de nível superior.",
},
{
key: "plugins..mcp_servers..identity",
type: "table",
description:
"Regra de identidade para um servidor MCP incluído num plugin. Defina command (stdio) ou url (HTTP transmissível).",
},
{
key: "plugins..mcp_servers..identity.command",
type: "string | table",
description:
"Permite o servidor MCP stdio de um plugin através de uma cadeia de comando exata ou utiliza uma tabela de correspondência para exigir um executável exato e correspondências ordenadas de argumentos.",
},
{
key: "plugins..mcp_servers..identity.command.executable",
type: "string",
description:
"Executável ao qual o comando configurado do servidor stdio incluído no plugin tem de corresponder exatamente.",
},
{
key: "plugins..mcp_servers..identity.command.args",
type: "array",
description:
"Correspondências ordenadas de argumentos para um servidor stdio incluído num plugin. A lista de argumentos configurada tem de ter o mesmo comprimento e todas as posições têm de corresponder.",
},
{
key: "plugins..mcp_servers..identity.command.args[].match",
type: "exact | prefix | regex",
description: "Operação de correspondência para esta posição do argumento.",
},
{
key: "plugins..mcp_servers..identity.command.args[].value",
type: "string",
description: "Valor utilizado por uma correspondência de argumento exact ou prefix.",
},
{
key: "plugins..mcp_servers..identity.command.args[].expression",
type: "string",
description:
"Expressão regular utilizada por uma correspondência de argumento regex. A expressão tem de corresponder ao valor completo do argumento.",
},
{
key: "plugins..mcp_servers..identity.url",
type: "string | table",
description:
"Permite o servidor MCP de HTTP transmissível de um plugin através de uma cadeia de URL exata ou utiliza uma tabela de correspondência de valores exact, prefix ou regex.",
},
{
key: "plugins..mcp_servers..identity.url.match",
type: "exact | prefix | regex",
description: "Operação de correspondência para o URL do servidor MCP incluído no plugin.",
},
{
key: "plugins..mcp_servers..identity.url.value",
type: "string",
description: "Valor utilizado por uma correspondência de URL exact ou prefix.",
},
{
key: "plugins..mcp_servers..identity.url.expression",
type: "string",
description:
"Expressão regular utilizada por uma correspondência de URL regex. A expressão tem de corresponder ao valor completo do URL.",
},
{
key: "marketplaces",
type: "table",
description:
"Requisitos do administrador para origens de marketplaces de plugins. As regras entram em vigor quando restrict_to_allowed_sources é true.",
},
{
key: "marketplaces.restrict_to_allowed_sources",
type: "boolean",
description:
"Quando definido como true, exige que as origens de marketplaces configuradas pelo utilizador correspondam a allowed_sources para operações de adição de marketplaces, instalação de plugins e atualização de marketplaces Git configurados. Os marketplaces OpenAI geridos pelo Codex permanecem permitidos quando a respetiva origem e nome reservados correspondem. Isto não filtra em tempo de execução os marketplaces de utilizador já configurados.",
},
{
key: "marketplaces.allowed_sources",
type: "table",
description:
"Origens de marketplaces permitidas, indexadas pelo nome da regra escolhido pelo administrador. Nomes distintos acumulam-se entre camadas de requisitos; os campos com o mesmo nome utilizam a precedência normal das camadas.",
},
{
key: "marketplaces.allowed_sources.",
type: "table",
description:
"Uma regra de origem permitida. O valor final de source após a união dos requisitos determina quais os campos irmãos que o Codex interpreta.",
},
{
key: "marketplaces.allowed_sources..source",
type: "git | host_pattern | local",
description:
"Tipo de correspondência da origem do marketplace. Utilize git para um repositório, host_pattern para anfitriões Git correspondidos por expressão regular ou local para um diretório.",
},
{
key: "marketplaces.allowed_sources..url",
type: "string",
description:
'URL do repositório Git obrigatório quando source = "git". O Codex normaliza os URLs configurados e permitidos antes de exigir uma correspondência exata do repositório.',
},
{
key: "marketplaces.allowed_sources..ref",
type: "string",
description:
"Referência Git exata opcional para uma regra git. Quando omitida, a regra permite qualquer referência para o repositório correspondente.",
},
{
key: "marketplaces.allowed_sources..host_pattern",
type: "string",
description:
'Expressão regular obrigatória quando source = "host_pattern". O Codex compara-a com o nome do anfitrião em minúsculas analisado a partir de uma origem Git HTTPS, SSH ou ao estilo de SCP. Utilize ^ e $ para exigir uma correspondência com todo o anfitrião.',
},
{
key: "marketplaces.allowed_sources..path",
type: "string (absolute path)",
description:
'Diretório local do marketplace obrigatório quando source = "local". O Codex exige um caminho absoluto e compara os caminhos após a normalização.',
},
{
key: "apps",
type: "table",
description:
"Requisitos geridos de aplicações, indexados pelo identificador da aplicação. Os requisitos podem desativar uma aplicação ou restringir o comportamento de aprovação para ferramentas individuais.",
},
{
key: "apps..enabled",
type: "boolean",
description:
"Defina como false para desativar uma aplicação. Um requisito de desativação permanece restritivo quando são unidas várias origens de requisitos.",
},
{
key: "apps..tools..approval_mode",
type: "auto | prompt | writes | approve",
description: "Define o modo de aprovação gerido para uma ferramenta da aplicação.",
},
{
key: "rules",
type: "table",
description:
"Regras de comandos impostas pelo administrador e unidas com ficheiros .rules. As regras dos requisitos têm de ser restritivas.",
},
{
key: "rules.prefix_rules",
type: "array",
description:
"Lista de regras de prefixos impostas. Cada regra tem de incluir pattern e decision.",
},
{
key: "rules.prefix_rules[].pattern",
type: "array",
description:
"Prefixo do comando expresso como tokens de padrão. Cada token define token ou any_of.",
},
{
key: "rules.prefix_rules[].pattern[].token",
type: "string",
description: "Um único token literal nesta posição.",
},
{
key: "rules.prefix_rules[].pattern[].any_of",
type: "array",
description: "Uma lista de tokens alternativos permitidos nesta posição.",
},
{
key: "rules.prefix_rules[].decision",
type: "prompt | forbidden",
description:
"Obrigatório. As regras dos requisitos apenas podem solicitar aprovação ou proibir (não permitir).",
},
{
key: "rules.prefix_rules[].justification",
type: "string",
description:
"Justificação opcional não vazia apresentada em pedidos de aprovação ou mensagens de rejeição.",
},
]}
client:load
/>
Anterior Configuração avançada Seguinte Variáveis de ambiente