Chaque clé de paneflow.json avec son type, sa valeur par défaut, son moment d'application et ses notes runtime.
paneflow.json est un fichier JSON propre à l'utilisateur. Toutes les
clés sont optionnelles, et {} est une configuration valide. Le loader
Rust et les résolveurs runtime sont la source du comportement ; le
JSON Schema
publié reflète les clés publiques pour la validation éditeur et
l'autocomplétion.
Les clés top-level inconnues sont ignorées au runtime, mais signalées
par le schéma dans les éditeurs. Une sauvegarde valide est rechargée
par le watcher de config. Pendant le hot reload, un JSON invalide garde
la dernière config valide au lieu de diffuser les defaults. Au démarrage,
un fichier invalide retombe sur les defaults et logue un avertissement.
Ajoute --permission-mode bypassPermissions au lanceur Claude Code. Option risquée.
ai_unrestricted
boolean/null
false
Chaque appel IPC
Autorise les conducteurs fiables à soumettre vers d'autres panneaux sans PANEFLOW_IPC_SCRIPTING. Chaque écriture est tracée.
ai_injection_fence
boolean/null
true
Chaque lecture
Encapsule surface.read dans une clôture de sortie non fiable par défaut.
agent_panel
object/null
defaults ci-dessous
Agents UI
Affichage, profils et notifications de la vue Agents.
tool_permissions
object
{}
Permissions
Patterns d'autorisation et de refus permanents par type d'outil.
telemetry
object/null
{ "enabled": null }
Démarrage/consentement
Consentement télémétrie desktop. PANEFLOW_NO_TELEMETRY=1 le surcharge.
Boutons de lancement d'agents
Chaque clé de bouton est boolean/null. null ou l'omission auto-détecte
le binaire CLI. false masque le bouton. true force son affichage.
Clé
Agent
claude_code_button_visible
Claude Code
codex_button_visible
Codex
opencode_button_visible
OpenCode
pi_button_visible
Pi
hermes_agent_button_visible
Hermes Agent
grok_button_visible
Grok
amp_button_visible
Amp
cursor_button_visible
Cursor
gemini_button_visible
Gemini
kiro_button_visible
Kiro
antigravity_button_visible
Antigravity
copilot_button_visible
Copilot
codebuddy_button_visible
CodeBuddy
factory_button_visible
Factory
qoder_button_visible
Qoder
openclaw_button_visible
OpenClaw
terminal
Clé
Type
Défaut
Application
Notes
terminal.backend
string
auto
Nouvelle session
auto, ghostty ou alacritty. Les builds Linux standard et Windows x64 MSVC pris en charge sélectionnent Ghostty avec auto ; ghostty le demande explicitement et alacritty permet le rollback. macOS et les builds sans la fonctionnalité Ghostty native de leur cible utilisent Alacritty. Les valeurs inconnues reviennent sur Alacritty. S'applique uniquement aux nouvelles sessions.
terminal.ligatures
boolean/null
false
Cache hot reload
Active les ligatures de programmation quand la police les supporte.
terminal.integrated_glyphs
boolean/null
true
Hot reload
Dessine les glyphes de blocs intégrés comme des quads remplis.
terminal.color_emoji
boolean/null
true
Hot reload
Utilise le chemin emoji couleur de la plateforme.
terminal.cursor_color
string/null
curseur du thème
Hot reload/nouveau terminal
#RRGGBB, RRGGBB, #RGB ou RGB.
terminal.scrollback_lines
integer/null
10000
Nouveau terminal
Plage 100 à 100000. Review plafonne à 2000; cached plafonne à 1000.
terminal.cursor_shape
string/null
block
Nouveau terminal
vintage, block, beam, underline, double_underline ou hollow.
terminal.cursor_blink
string/null
terminal_controlled
Nouveau terminal
on, off ou terminal_controlled.
terminal.env
object/null
aucun
Nouveau terminal
Variables injectées dans chaque nouveau terminal. Le env de surface gagne en cas de collision.
terminal.scroll_multiplier
number/null
1.0
Nouvelle vue terminal
Plage 0.1 à 10.0. Ignoré en mouse-reporting et en scroll alternate-screen.
agent_panel
Clé
Type
Défaut
Notes
agent_panel.max_content_width
integer/null
760
Largeur du contenu chat en pixels. Plage 320 à 4000.
agent_panel.thinking_display
string/null
Auto
Auto, Preview, AlwaysExpanded ou AlwaysCollapsed.
agent_panel.profiles
object
{}
Map de profils nommés. Les clés sont les noms de profils.
agent_panel.default_profile
string/null
aucun
Profil sélectionné par défaut quand présent.
agent_panel.notify_when_agent_waiting
string/null
PrimaryScreen
PrimaryScreen, AllScreens ou Never.
Les entrées sous agent_panel.profiles utilisent cette forme :
Clé
Type
Défaut
Notes
agent_panel.profiles.*.agent
string/null
aucun
Tag d'agent préféré.
agent_panel.profiles.*.model
string/null
aucun
Libellé de modèle préféré.
agent_panel.profiles.*.mode
string/null
aucun
Libellé de mode préféré.
agent_panel.profiles.*.effort
string/null
aucun
Libellé d'effort préféré.
agent_panel.profiles.*.tools
string array
[]
Types d'outils préférés affichés par le profil.
tool_permissions
tool_permissions est indexé par type d'outil, par exemple read,
edit ou execute.
Clé
Type
Défaut
Notes
tool_permissions.*.always_allow
string array
[]
Patterns de sous-chaîne qui autorisent automatiquement les entrées correspondantes.
tool_permissions.*.always_deny
string array
[]
Patterns de sous-chaîne qui refusent automatiquement les entrées correspondantes.
commands
Les entrées commands alimentent à la fois les commandes shell simples
et les modèles Settings > Workspaces. Une entrée doit avoir name;
workspace et command sont mutuellement exclusifs.
Clé
Type
Défaut
Notes
commands[].name
string
requis
Nom affiché. Ne peut pas être vide.
commands[].description
string/null
aucun
Description lisible par l'utilisateur.
commands[].keywords
string array
[]
Mots-clés de recherche floue.
commands[].workspace
object/null
aucun
Modèle de workspace.
commands[].command
string/null
aucun
Commande shell simple.
Clés d'un modèle de workspace :
Clé
Type
Défaut
Notes
commands[].workspace.name
string/null
nom de commande
Nom affiché du workspace.
commands[].workspace.cwd
string/null
cwd courant
Répertoire par défaut du workspace.
commands[].workspace.layout_preset
string/null
aucun
even_h, even_v, main_vertical ou tiled.
commands[].workspace.color
string/null
aucun
Couleur d'accent hex à six chiffres, sans #.
commands[].workspace.layout
object/null
layout du preset
Racine de l'arbre de layout.
Clés de layout :
Clé
Type
Notes
commands[].workspace.layout.type
string
pane ou split.
commands[].workspace.layout.surfaces
array
Requis pour les noeuds pane.
commands[].workspace.layout.direction
string
Requis pour split : horizontal ou vertical.
commands[].workspace.layout.ratio
number/null
Ancien ratio de split binaire, plage 0.1 à 0.9. Ignoré si ratios existe.
commands[].workspace.layout.ratios
number array/null
Ratios par enfant pour les layouts N-aires. Doit correspondre au nombre d'enfants et sommer près de 1.0.