Référence de configuration
Index exhaustif de toutes les clés acceptées par config.toml et les fichiers de définition d’agents. Les clés sont regroupées par section, chacune renvoyant à la page qui explique le concept en détail. Utilisez cette page comme aide-mémoire, et Configuration pour comprendre le fonctionnement du fichier.
Clés de premier niveau
Toutes les clés se trouvent à la racine de config.toml sauf indication contraire.
| Clé | Type | Valeur par défaut | Description |
|---|---|---|---|
default_agent | string | "accept-edits" | Agent utilisé lorsque vous ne spécifiez pas --agent, dans les sessions interactives et programmatiques. Voir Les agents |
active_model | string | Alias de modèle actuellement utilisé. Défini sur un alias de [[models]] ou un ID de modèle intégré | |
allowed_models | array<string> | Liste d'autorisation de motifs de noms de modèles (correspondance exacte, glob ou regex re:), comparés aux noms des modèles envoyés à l'API d'inférence, et non à leurs alias. Si la liste n'est pas vide, seuls les modèles correspondants sont sélectionnables | |
compaction_model | table | Modèle qui résume la conversation pendant /compact et la compaction automatique, avec son propre niveau de réflexion. Doit utiliser le fournisseur du modèle actif ; sinon, Vibe affiche un avertissement et utilise le modèle actif. Valeur par défaut : le modèle actif | |
auto_compact_threshold | number | Nombre de tokens qui déclenche la compaction automatique pour les modèles qui ne définissent pas leur propre seuil. Doit être positif et tenir dans la fenêtre de contexte du modèle. Si non défini, Vibe le calcule à partir de la fenêtre de contexte de chaque modèle | |
compaction_max_output_tokens | number | 0 | Plafond de tokens de sortie des requêtes de compaction, quel que soit le fournisseur. Vibe le maintient dans la limite de sortie du modèle de compaction et de la place que laisse sa fenêtre de contexte. 0 n'envoie un plafond qu'aux fournisseurs qui en exigent un |
compaction_reasoning_limit_tokens | number | 32000 | Nombre approximatif de tokens de raisonnement au-delà duquel Vibe abandonne la première requête de compaction au profit d'une requête de repli plus courte. 0 désactive cette limite |
agent_max_output_tokens | number | 0 | Plafond de tokens de sortie des requêtes des agents et sous-agents, quel que soit le fournisseur. Vibe le maintient dans la limite de sortie du modèle et de la place que laisse sa fenêtre de contexte. 0 n'envoie un plafond qu'aux fournisseurs qui en exigent un |
output_limit_retries | number | 6 | Nombre de fois par tour où Vibe écarte une réponse coupée à la limite de tokens de sortie et la redemande, en demandant une réponse plus courte. 0 termine le tour dès la première réponse coupée |
vision_model | table | Modèle compatible vision qui décrit les images jointes lorsque le modèle actif ne prend pas en charge les images. Utilise par défaut n'importe quel modèle compatible vision du fournisseur du modèle actif. Définissez-le pour utiliser un modèle d'un autre fournisseur | |
enabled_agents | array<string> | Liste d'autorisation de motifs de noms d'agents. Si la liste n'est pas vide, seuls les agents correspondants sont disponibles | |
disabled_agents | array<string> | Liste d'exclusion de motifs de noms d'agents, appliquée quand enabled_agents est vide | |
agent_paths | array<string> | Répertoires supplémentaires où découvrir des agents personnalisés | |
system_prompt_id | string | "cli" | Prompt système à utiliser. Définissez cette valeur sur le nom d'un fichier Markdown dans ~/.vibe/prompts/ ou .vibe/prompts/, sans l'extension .md |
compaction_prompt_id | string | "compact" | Prompt utilisé pour résumer la conversation pendant la compaction. Résolu comme system_prompt_id |
title_prompt_id | string | "session_title" | Prompt utilisé pour générer les titres de session. Résolu comme system_prompt_id |
skill_paths | array<string> | Répertoires supplémentaires où découvrir des skills. Voir Skills | |
enabled_skills | array<string> | Liste d’autorisation de motifs de noms de skills (exact, glob ou re: regex). Si non vide, seuls les skills correspondants se chargent | |
disabled_skills | array<string> | Liste d’exclusion de motifs de noms de skills, appliquée quand enabled_skills est vide | |
enabled_tools | array<string> | Liste d’autorisation de motifs de noms d’outils. Voir Sécurité, approbations et permissions | |
disabled_tools | array<string> | Liste d'exclusion de motifs de noms d'outils, appliquée après enabled_tools | |
outside_workdir | string | "ask" | "ask" demande une confirmation avant qu'un outil de fichiers ou shell accède à un chemin hors du répertoire de travail. "deny" refuse l'appel, et l'agent continue de travailler. Voir Accès hors du répertoire de travail |
enable_mcp | boolean | true | Autorise les serveurs MCP. Si false, Vibe bloque l'ajout, la suppression et l'activation de serveurs MCP, la connexion à ces serveurs et le chargement de leurs outils, y compris pour les serveurs fournis par des plugins. Voir Configuration administrateur |
enable_connectors | boolean | true | Autorise les Connecteurs, y compris la Recherche sur le Web intégrée. Voir Bloquer les connecteurs |
enable_auto_approve | boolean | true | Autorise le mode d'approbation automatique. Si false, Vibe masque l'agent auto-approve et tout agent personnalisé avec safety = "yolo", et ignore --auto-approve, --yolo et bypass_tool_permissions. Les autorisations par outil s'appliquent toujours. Destiné à la configuration administrateur |
enable_subagents | boolean | true | Permet à l'agent de déléguer du travail à des sous-agents. Voir Les agents |
max_subagents | nombre | 32 | Nombre maximal de sous-agents actifs en même temps |
max_concurrent_subagents | nombre | 32 | Nombre maximal de sous-agents en cours d'exécution en même temps |
enable_background_processes | boolean | true | Permet à l'agent d'exécuter des commandes en arrière-plan. Si false, les commandes s'exécutent au premier plan jusqu'à leur terme |
enable_update_checks | booléen | true | Vérifie une fois par jour si une nouvelle version est disponible et propose de l'installer |
enable_notifications | booléen | true | Émet un signal sonore et met à jour le titre du terminal lorsque Vibe termine ou attend votre saisie alors que le terminal n'a pas le focus |
enable_telemetry | booléen | true | Envoie de la télémétrie anonyme d’usage et d’erreurs à Mistral. Désactivez pour un usage hors ligne uniquement |
enable_system_trust_store | booléen | false | Valide les certificats HTTPS à l'aide du magasin de certificats de confiance du système d'exploitation plutôt que des certificats racines intégrés à Vibe. Voir Autorités de certification d'entreprise |
api_stream_idle_timeout | number | 300 | Nombre de secondes sans activité, une fois que le modèle commence à répondre, avant que Vibe considère la réponse comme bloquée et la relance |
ask_confirmation_on_exit | booléen | true | Demande un second Ctrl+D avant de quitter. Ctrl+C demande toujours une confirmation |
autocopy_to_clipboard | booléen | true | Copie le texte dans le presse-papiers lorsque vous relâchez le bouton de la souris après une sélection |
enable_mouse_capture | booléen | true | Capture la souris pour les clics, le défilement et la sélection. Définissez-le sur false pour sélectionner et copier avec votre terminal. Voir Sélectionner et copier du texte |
show_thinking_nodes | booléen | true | Affiche le raisonnement du modèle dans la conversation, sous la forme d'une ligne « Thought » repliable |
enable_file_autocomplete | booléen | true | Suggère des fichiers quand vous tapez une mention @. Avec false, Vibe ignore également la construction de l'index de fichiers en arrière-plan |
file_watcher_for_autocomplete | booléen | true | Actualise les suggestions de fichiers @ et détecte les compétences nouvelles ou modifiées quand les fichiers changent. Avec false, Vibe construit l'index de fichiers une seule fois, sans surveiller le système de fichiers |
cursor_blink | boolean | true | Fait clignoter le curseur de saisie. Définissez cette valeur sur false pour un curseur fixe |
theme | string | "auto" | Thème du terminal. auto suit l'arrière-plan du terminal ou la préférence claire ou sombre de l'OS. mistral-dark et mistral-light utilisent la palette de la marque Mistral. Modifiez-le avec /theme |
show_subagent_status_list | boolean | true | Affiche la liste des sous-agents en cours d'exécution au-dessus du prompt |
worktree_limit | number | 15 | Nombre maximal de worktrees git récents gérés par Vibe et conservés localement |
worktree_copy_on_write | boolean | true | Uniquement sur macOS. Crée de nouveaux worktrees d'un dépôt de confiance à partir d'un checkout modèle, si bien qu'ils occupent moins d'espace disque et sont créés plus rapidement. Définit extensions.worktreeConfig dans le .git/config du dépôt. Au démarrage, Vibe renomme experimental_worktree_copy_on_write en cette clé |
log_level | string | "WARNING" | Niveau de log pour ~/.vibe/logs/vibe.log : DEBUG, INFO, WARNING, ERROR ou CRITICAL. Modifiez-le avec /log-level |
strict_config | booléen | false | Refuse de démarrer lorsque la configuration contient des paramètres que Vibe n'utilise pas, comme des clés mal orthographiées. Voir Vérifier votre configuration |
experimental_enable_mistral_mcp_connector | boolean | false | Expérimental. Ajoute le connecteur MCP Mistral intégré et ses outils aux connecteurs |
experimental_enable_model_catalog | boolean | false | Expérimental. Récupère le catalogue de modèles sélectionnés par Mistral au début de la session et ajoute ces modèles à la liste des modèles. Vos préréglages [[models]] continuent de surcharger leurs paramètres. Si vous n'avez choisi aucun modèle, Vibe utilise le modèle recommandé par le catalogue, sauf si une expérience vous en attribue un autre |
[[providers]] | table array | Préréglages de fournisseurs. Champs listés ci-dessous. Voir Clés API et profils | |
[[models]] | table array | Préréglages de modèles. Champs listés ci-dessous. Voir Clés API et profils | |
[[mcp_servers]] | table array | Définitions de serveurs MCP. Champs listés ci-dessous. Voir Serveurs MCP | |
[utility_models] | table | Modèles des tâches d’arrière-plan, comme le classifieur de validation intelligente et les titres de session. Champs listés ci-dessous | |
[session_logging] | table | Paramètres de stockage des sessions. Champs indiqués ci-dessous |
displayed_workdir, context_warnings, raise_on_compaction_failure, include_model_info, include_prompt_detail, api_connect_timeout, api_write_timeout et api_pool_timeout sont obsolètes. Vibe les accepte encore dans les fichiers existants, mais ces clés n'ont aucun effet. enable_auto_update n'a pas d'effet non plus : utilisez enable_update_checks. Vibe ne charge plus les outils Python personnalisés et retire tool_paths de config.toml au démarrage.
[[providers]])Fournisseurs ([[providers]])
Une table [[providers]] par préréglage de fournisseur.
| Clé | Type | Valeur par défaut | Description |
|---|---|---|---|
name | string | Requis | Identifiant du préréglage de fournisseur, référencé par un provider de [[models]] |
api_base | string | Requis | URL de base de l’API du fournisseur |
api_key_env_var | string | Nom de la variable d’environnement contenant la clé d’API. Les secrets doivent utiliser cette forme dans la config admin | |
api_style | string | "openai" | Style d'API : "openai", "openai-responses", "reasoning", "anthropic" ou "vertex-anthropic" |
backend | string | "generic" | Type de backend : "generic" ou "mistral" |
region | string | Région Google Cloud pour Vertex AI (api_style = "vertex-anthropic"). Nécessite project_id | |
project_id | string | Projet Google Cloud pour Vertex AI (api_style = "vertex-anthropic") | |
preserve_api_base | booléen | false | Conserve l'api_base configuré lorsque la connexion ou /reload le remplacerait par celui qu'annonce votre déploiement. Utile si vous accédez à l'API via un proxy. Voir Vérifier les domaines de /whoami |
[providers.extra_headers] | table | Sous-table d’en-têtes HTTP supplémentaires, par exemple "x-acme-tenant" = "engineering" |
[[models]])Modèles ([[models]])
Une table [[models]] par préréglage de modèle.
| Clé | Type | Valeur par défaut | Description |
|---|---|---|---|
name | string | Requis | ID du modèle, par exemple mistral-medium-latest |
provider | string | Requis | Référence un name de [[providers]] |
alias | string | name | Alias local utilisé par active_model. En cas d'omission, la valeur par défaut est name |
display_name | string | alias | Libellé affiché dans le sélecteur de modèle. Prend la valeur alias si non renseigné |
temperature | number | 0.2 | Température d'échantillonnage |
top_p | number | Échantillonnage par noyau, entre 0 (exclu) et 1. Si non défini, la valeur par défaut du fournisseur est conservée | |
max_output_tokens | number | Nombre maximal de tokens de sortie du modèle. Les fournisseurs qui exigent une limite de sortie, comme Anthropic, le reçoivent comme plafond, sauf si agent_max_output_tokens ou compaction_max_output_tokens est défini | |
input_price | number | Coût par million de tokens d'entrée, utilisé pour plafonner les coûts en mode programmatique | |
output_price | number | Coût par million de tokens de sortie, utilisé pour plafonner les coûts en mode programmatique | |
cached_input_price | nombre | Coût par million de tokens d'entrée mis en cache. Omettez-le pour facturer l'entrée mise en cache au tarif input_price | |
thinking | string | Niveau de réflexion par défaut pour le modèle : off, low, medium, high, xhigh, max ou un niveau de thinking_levels. Vibe l'envoie tel quel au fournisseur, avec un avertissement s'il ne fait partie d'aucun de ces niveaux. Si non défini, le niveau le plus bas du modèle | |
thinking_levels | array<string> | Niveaux de réflexion proposés par /thinking pour ce modèle, du plus bas au plus haut. Peut inclure des niveaux propres au fournisseur, comme ["low", "turbo"]. Si non définis, les niveaux connus du modèle | |
supports_images | booléen | Indique si le modèle est compatible vision. Si true, vous pouvez mentionner des images avec @ | |
max_context_length | nombre | Fenêtre de contexte en tokens. Détermine la compaction automatique | |
auto_compact_threshold | nombre | Nombre de tokens qui déclenche la compaction automatique. Remplace la valeur par défaut, calculée à partir de max_context_length |
Si ces champs ne sont pas définis, Vibe les prend auprès du fournisseur ou dans sa liste de modèles connus. Pour un modèle inconnu, il suppose une fenêtre de contexte de 262 144 tokens et affiche un avertissement.
[utility_models])Modèles utilitaires ([utility_models])
Modèles des tâches d’arrière-plan, une clé par tâche. Chaque valeur est l’alias d’un préréglage [[models]], ou "active" pour utiliser le modèle de la session. Si une clé n’est pas définie, Vibe utilise un petit modèle Mistral rapide lorsque votre fournisseur Mistral en propose un, et le modèle de la session sinon. Un alias qui ne correspond à aucun modèle configuré, ou que allowed_models exclut, déclenche un avertissement et revient à cette sélection automatique.
| Clé | Type | Valeur par défaut | Description |
|---|---|---|---|
smart_approve | string | Automatique | Modèle qui classe les appels d’outils pour l’agent smart-approve. Voir Choisir le modèle de validation intelligente |
title | string | Automatique | Modèle qui génère les titres de session |
[session_logging])Enregistrement des sessions ([session_logging])
Définit où Vibe enregistre les sessions. --continue, --resume et /resume nécessitent des sessions enregistrées. Voir Travailler avec la CLI.
| Clé | Type | Valeur par défaut | Description |
|---|---|---|---|
enabled | booléen | true | Enregistre les sessions sur le disque |
save_dir | string | ~/.vibe/logs/session | Répertoire où les sessions sont enregistrées |
generate_titles | booléen | true | Génère les titres de session en arrière-plan. Si false, Vibe affiche le premier message à la place |
[[mcp_servers]])Serveurs MCP ([[mcp_servers]])
Une table [[mcp_servers]] par serveur. Les champs requis dépendent du transport (http, streamable-http ou stdio).
| Clé | Type | Valeur par défaut | Description |
|---|---|---|---|
name | string | Requis | Alias court ; préfixe les noms d’outils de ce serveur |
transport | string | Requis | Un parmi http, streamable-http ou stdio |
url | string | URL de base pour les transports HTTP | |
command | string | Commande pour le transport stdio | |
args | array<string> | Arguments pour le transport stdio | |
env | table | Variables d’environnement passées au processus stdio | |
startup_timeout_sec | nombre | 10 | Secondes d’attente pour le démarrage du serveur |
tool_timeout_sec | nombre | 60 | Secondes d’attente pour l’exécution d’un appel d’outil |
disabled | booléen | false | Masque tous les outils de ce serveur. /mcp permet de modifier ce réglage |
disabled_tools | array<string> | Noms des outils de ce serveur à masquer, sans le préfixe du serveur | |
[mcp_servers.auth] | table | Authentification pour les transports HTTP. Champs indiqués ci-dessous |
La table [mcp_servers.auth] définit la manière dont Vibe s'authentifie auprès d'un serveur HTTP :
| Clé | Type | Valeur par défaut | Description |
|---|---|---|---|
type | string | "static" | "static" pour des en-têtes ou une clé API, "oauth" pour une connexion via le navigateur |
headers | table | static uniquement. En-têtes HTTP supplémentaires | |
api_key_env | string | static uniquement. Variable d'environnement contenant la clé API. Distincte de api_key_env_var des fournisseurs | |
api_key_header | string | "Authorization" | static uniquement. Nom de l'en-tête dont la valeur est définie avec la clé API |
api_key_format | string | "Bearer {token}" | static uniquement. Chaîne de format pour la valeur de l'en-tête |
scopes | array<string> | Requis pour oauth | oauth uniquement. Portées OAuth à demander. Fournissez une liste vide pour accepter la valeur par défaut du serveur |
client_id | string | oauth uniquement. Identifiant d'un client public préenregistré, avec http://127.0.0.1:<redirect_port>/callback comme URI de redirection. Incompatible avec client_metadata_url. Sans l'un ni l'autre, Vibe enregistre un client de façon dynamique | |
client_metadata_url | string | oauth uniquement. URL HTTPS d'un document de métadonnées client, avec un chemin autre que /. Le document doit lister http://127.0.0.1:<redirect_port>/callback dans redirect_uris. Utilisée uniquement si le serveur annonce client_id_metadata_document_supported ; sinon, Vibe enregistre un client de façon dynamique. Incompatible avec client_id | |
redirect_port | integer | 47823 | oauth uniquement. Port local du callback de connexion, de 1024 à 65535. Modifiez-le si le port 47823 est déjà utilisé |
Vibe accepte encore headers, api_key_env, api_key_header et api_key_format au premier niveau de [[mcp_servers]] et les interprète comme une authentification statique.
[[connectors]])Connecteurs ([[connectors]])
Une table [[connectors]] par connecteur à modifier. /connectors écrit ces entrées lorsque vous activez ou désactivez un connecteur ou un outil.
| Clé | Type | Valeur par défaut | Description |
|---|---|---|---|
name | string | Requis | Nom du connecteur, tel qu'il apparaît dans /connectors (par exemple, web_search) |
disabled | boolean | false | Masque tous les outils de ce connecteur |
disabled_tools | array<string> | Noms des outils de ce connecteur à masquer, sans le préfixe du connecteur |
[tools.<tool_name>])Permissions par outil ([tools.<tool_name>])
<tool_name> est un outil intégré (read_file, bash, etc.), un outil MCP nommé {server_name}_{tool_name} ou un outil de connecteur nommé connector_{connector_name}_{tool_name}. Un bloc par outil.
| Clé | Type | Valeur par défaut | Description |
|---|---|---|---|
permission | string | "always" pour autoriser automatiquement l'outil, "ask" pour demander une confirmation avant utilisation, "never" pour le bloquer | |
allowlist | array<string> | Commandes en lecture seule pour bash | Autorisés sans approbation. Pour bash, préfixes de commandes tels que ["git status", "pnpm test"]. Pour read_file, write_file et edit, motifs glob comparés aux chemins absolus, tels que ["/home/me/project/docs/*"]. Remplace la liste par défaut |
denylist | array<string> | Commandes interactives pour bash | Toujours refusés. Pour bash, préfixes de commandes tels que ["rm -rf"]. Pour read_file, write_file et edit, motifs glob comparés aux chemins absolus. Remplace la liste par défaut |
outside_workdir | string | outside_workdir de premier niveau | "ask" ou "deny" pour l'accès de cet outil hors du répertoire de travail. Surcharge le paramètre de premier niveau |
default_timeout | number | Outils shell uniquement. Délai par défaut d'une commande, en secondes. Sans max_timeout_seconds, 300 au maximum | |
max_timeout_seconds | number | Outils shell uniquement. Délai maximal qu'un agent peut demander pour une commande, en secondes. Définissez-le avec default_timeout |
Fichiers de définition d’agents
Ces clés se trouvent dans ~/.vibe/agents/<name>.toml ou ./.vibe/agents/<name>.toml, pas dans config.toml. Elles définissent des agents et sous-agents personnalisés. La plupart des clés de premier niveau ci-dessus (active_model, enabled_tools, disabled_tools, blocs [tools.*]) peuvent aussi être définies dans un fichier d’agent pour surcharger la configuration globale de cet agent.
| Clé | Type | Valeur par défaut | Description |
|---|---|---|---|
agent_type | string | "agent" | "agent" (utilisateur, sélectionnable via --agent) ou "subagent" (délégation uniquement) |
display_name | string | Libellé lisible par l’utilisateur | |
description | string | Description en texte libre. Requise pour les sous-agents | |
instructions | string | Texte du prompt écrit directement dans le fichier. Pour un agent, ajouté après le prompt système. Pour un sous-agent, remplace le prompt system_prompt_id | |
safety | string | "neutral" | Indication visuelle : safe, neutral, destructive, smart ou yolo. Modifie la couleur du libellé du mode de l'agent sur la zone de saisie ; n'applique aucune autorisation. enable_auto_approve = false masque les agents yolo |
system_prompt_id | string | Désigne un fichier de prompt Markdown dans ./.vibe/prompts/ (dossiers de confiance uniquement) ou ~/.vibe/prompts/, sans l'extension .md | |
active_model | string | Alias de modèle pour cet agent ou sous-agent (même clé que la config globale) | |
enabled_tools | array<string> | Liste d’autorisation d’outils pour cet agent | |
disabled_tools | array<string> | Liste d’exclusion d’outils pour cet agent |
Voir Agents pour les agents intégrés et des exemples complets.
Variables d’environnement
Ces éléments ne sont pas des clés de config.toml, mais font partie du modèle de configuration. Voir Priorité des configurations pour connaître la priorité des variables VIBE_<KEY>.
| Variable | Rôle |
|---|---|
VIBE_HOME | Surcharge le répertoire racine ~/.vibe/ pour tout l’état (config, prompts, agents, skills, journaux) |
VIBE_<KEY> | Surcharge la clé de configuration de premier niveau <key>, par exemple VIBE_ACTIVE_MODEL. Utilisez __ pour les clés imbriquées. Vibe ignore une valeur qu'il ne peut pas analyser et la consigne dans les logs |
VIBE_STRICT_CONFIG | Définissez-la sur 1 pour le même effet que strict_config = true |
VIBE_TERMINAL_KEY | Nomme le terminal que suit --continue. Définissez-la avec une valeur vide pour ignorer le terminal. Voir Reprendre ou continuer une session |
VIBE_CUSTOM_CONSOLE_URL | Définie par les administrateurs pour imposer la console utilisée pour la connexion par navigateur. Voir Imposer la console de connexion |
MISTRAL_API_KEY | Clé d’API Mistral principale |
<PROVIDER>_API_KEY | Clé d’API référencée par un api_key_env_var de [[providers]] (par exemple OPENROUTER_API_KEY) |
Voir Précédence de configuration et Config admin pour comprendre comment ces couches se combinent.