{
  "name": "otty",
  "description": "Otty terminal emulator — GUI launcher + control CLI",
  "options": [
    {
      "names": [
        "--format"
      ],
      "description": "Output format",
      "isPersistent": true,
      "args": [
        {
          "name": "format",
          "suggestions": [
            "text",
            "json"
          ]
        }
      ]
    },
    {
      "names": [
        "--json"
      ],
      "description": "Shortcut for --format json",
      "isPersistent": true
    },
    {
      "names": [
        "--no-headers"
      ],
      "description": "Suppress table headers in text list output",
      "isPersistent": true
    },
    {
      "names": [
        "-q",
        "--quiet"
      ],
      "description": "Suppress non-essential success output",
      "isPersistent": true
    },
    {
      "names": [
        "--socket"
      ],
      "description": "Override runtime control socket path",
      "isPersistent": true,
      "args": [
        {
          "name": "path",
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "--config-file"
      ],
      "description": "Override config file path",
      "isPersistent": true,
      "args": [
        {
          "name": "path",
          "template": "filepaths"
        }
      ]
    },
    {
      "names": [
        "--timeout"
      ],
      "description": "IPC timeout in milliseconds",
      "isPersistent": true,
      "args": [
        {
          "name": "ms"
        }
      ]
    },
    {
      "names": [
        "-y",
        "--yes"
      ],
      "description": "Skip destructive-action confirmation prompts",
      "isPersistent": true
    },
    {
      "names": [
        "-e"
      ],
      "description": "Run a command in a new window (xterm-style; consumes all remaining args)",
      "args": [
        {
          "name": "cmd",
          "isVariadic": true
        }
      ]
    }
  ],
  "subcommands": [
    {
      "name": "open",
      "description": "Launch a new Otty window",
      "options": [
        {
          "names": [
            "--command"
          ],
          "description": "Command to run in the new window",
          "args": [
            {
              "name": "command"
            }
          ]
        },
        {
          "names": [
            "--title"
          ],
          "description": "Window title",
          "args": [
            {
              "name": "title"
            }
          ]
        }
      ],
      "args": [
        {
          "name": "path",
          "description": "Directory to open in",
          "isOptional": true,
          "template": "folders"
        }
      ]
    },
    {
      "name": "config",
      "description": "Manage configuration",
      "subcommands": [
        {
          "name": "show",
          "description": "Show the normalized config file contents"
        },
        {
          "name": "path",
          "description": "Print the config file path"
        },
        {
          "name": "get",
          "description": "Get one config key",
          "args": [
            {
              "name": "key"
            }
          ]
        },
        {
          "name": "set",
          "description": "Set one config key",
          "options": [
            {
              "names": [
                "--reload"
              ],
              "description": "Also reload config in running app"
            },
            {
              "names": [
                "--transient"
              ],
              "description": "Apply to running app only, don't write to disk"
            }
          ],
          "args": [
            {
              "name": "key"
            },
            {
              "name": "value"
            }
          ]
        },
        {
          "name": "unset",
          "description": "Remove one or more keys from the config file",
          "args": [
            {
              "name": "keys",
              "isVariadic": true
            }
          ]
        },
        {
          "name": "edit",
          "description": "Open the config file in $EDITOR"
        },
        {
          "name": "validate",
          "description": "Validate the config file"
        },
        {
          "name": "reload",
          "description": "Reload config in the running app"
        }
      ]
    },
    {
      "name": "font",
      "description": "List available fonts",
      "subcommands": [
        {
          "name": "list",
          "description": "List available fonts",
          "options": [
            {
              "names": [
                "--family"
              ],
              "description": "Filter by font family name (substring match)",
              "args": [
                {
                  "name": "family"
                }
              ]
            },
            {
              "names": [
                "--monospace"
              ],
              "description": "Show only monospace fonts"
            },
            {
              "names": [
                "--system"
              ],
              "description": "Only show fonts installed system-wide",
              "exclusiveOn": [
                "--user"
              ]
            },
            {
              "names": [
                "--user"
              ],
              "description": "Only show user-supplied fonts from ~/.config/otty/fonts/",
              "exclusiveOn": [
                "--system"
              ]
            }
          ]
        },
        {
          "name": "apply",
          "description": "Apply a font family by writing it to user config",
          "args": [
            {
              "name": "name",
              "description": "e.g. \"JetBrains Mono\""
            }
          ]
        }
      ]
    },
    {
      "name": "theme",
      "description": "List available color themes",
      "subcommands": [
        {
          "name": "list",
          "description": "List available color themes",
          "options": [
            {
              "names": [
                "--color"
              ],
              "description": "Filter by color scheme variant",
              "args": [
                {
                  "name": "color",
                  "suggestions": [
                    "dark",
                    "light",
                    "all"
                  ]
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "keybind",
      "description": "List keybindings",
      "subcommands": [
        {
          "name": "list",
          "description": "List keybindings",
          "options": [
            {
              "names": [
                "--action"
              ],
              "description": "Filter by action name (substring match)",
              "args": [
                {
                  "name": "action"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "window",
      "description": "Manage windows (requires running app)",
      "subcommands": [
        {
          "name": "show",
          "description": "Show one window",
          "options": [
            {
              "names": [
                "--window"
              ],
              "args": [
                {
                  "name": "window",
                  "description": "Window reference (id or 'current')",
                  "isOptional": true
                }
              ]
            }
          ],
          "args": [
            {
              "name": "window",
              "description": "Window reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "list",
          "description": "List all windows"
        },
        {
          "name": "new",
          "description": "Create a new window",
          "options": [
            {
              "names": [
                "--cwd"
              ],
              "args": [
                {
                  "name": "path",
                  "template": "folders"
                }
              ]
            },
            {
              "names": [
                "--command"
              ],
              "args": [
                {
                  "name": "command"
                }
              ]
            },
            {
              "names": [
                "--title"
              ],
              "args": [
                {
                  "name": "title"
                }
              ]
            },
            {
              "names": [
                "--no-focus"
              ],
              "description": "Don't focus the new window"
            }
          ]
        },
        {
          "name": "close",
          "description": "Close a window",
          "options": [
            {
              "names": [
                "--window"
              ],
              "args": [
                {
                  "name": "window",
                  "description": "Window reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--force"
              ],
              "description": "Don't prompt on unsaved state",
              "isDangerous": true
            }
          ],
          "args": [
            {
              "name": "window",
              "description": "Window reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "focus",
          "description": "Focus a window",
          "options": [
            {
              "names": [
                "--window"
              ],
              "args": [
                {
                  "name": "window",
                  "description": "Window reference (id or 'current')",
                  "isOptional": true
                }
              ]
            }
          ],
          "args": [
            {
              "name": "window",
              "description": "Window reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "rename",
          "description": "Set a window title",
          "options": [
            {
              "names": [
                "--window"
              ],
              "args": [
                {
                  "name": "window",
                  "description": "Window reference (id or 'current')",
                  "isOptional": true
                }
              ]
            }
          ],
          "args": [
            {
              "name": "title"
            }
          ]
        }
      ]
    },
    {
      "name": "tab",
      "description": "Manage tabs (requires running app)",
      "subcommands": [
        {
          "name": "show",
          "description": "Show one tab",
          "options": [
            {
              "names": [
                "--tab"
              ],
              "args": [
                {
                  "name": "tab",
                  "description": "Tab reference (id or 'current')",
                  "isOptional": true
                }
              ]
            }
          ],
          "args": [
            {
              "name": "tab",
              "description": "Tab reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "list",
          "description": "List tabs",
          "options": [
            {
              "names": [
                "--window"
              ],
              "args": [
                {
                  "name": "window",
                  "description": "Window reference (id or 'current')",
                  "isOptional": true
                }
              ]
            }
          ]
        },
        {
          "name": "new",
          "description": "Create a new tab",
          "options": [
            {
              "names": [
                "--window"
              ],
              "args": [
                {
                  "name": "window",
                  "description": "Window reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--cwd"
              ],
              "args": [
                {
                  "name": "path",
                  "template": "folders"
                }
              ]
            },
            {
              "names": [
                "--command"
              ],
              "args": [
                {
                  "name": "command"
                }
              ]
            },
            {
              "names": [
                "--title"
              ],
              "args": [
                {
                  "name": "title"
                }
              ]
            },
            {
              "names": [
                "--after"
              ],
              "args": [
                {
                  "name": "index"
                }
              ]
            },
            {
              "names": [
                "--no-focus"
              ]
            }
          ]
        },
        {
          "name": "close",
          "description": "Close a tab",
          "options": [
            {
              "names": [
                "--tab"
              ],
              "args": [
                {
                  "name": "tab",
                  "description": "Tab reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--force"
              ],
              "isDangerous": true
            }
          ],
          "args": [
            {
              "name": "tab",
              "description": "Tab reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "focus",
          "description": "Focus a tab",
          "options": [
            {
              "names": [
                "--tab"
              ],
              "args": [
                {
                  "name": "tab",
                  "description": "Tab reference (id or 'current')",
                  "isOptional": true
                }
              ]
            }
          ],
          "args": [
            {
              "name": "tab",
              "description": "Tab reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "rename",
          "description": "Rename a tab",
          "options": [
            {
              "names": [
                "--tab"
              ],
              "args": [
                {
                  "name": "tab",
                  "description": "Tab reference (id or 'current')",
                  "isOptional": true
                }
              ]
            }
          ],
          "args": [
            {
              "name": "title"
            }
          ]
        },
        {
          "name": "move",
          "description": "Move a tab",
          "options": [
            {
              "names": [
                "--tab"
              ],
              "args": [
                {
                  "name": "tab",
                  "description": "Tab reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--to-window"
              ],
              "args": [
                {
                  "name": "window",
                  "description": "Window reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--index"
              ],
              "args": [
                {
                  "name": "index"
                }
              ]
            }
          ],
          "args": [
            {
              "name": "tab",
              "description": "Tab reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "badge",
          "description": "Set or clear the tab's status badge",
          "options": [
            {
              "names": [
                "--tab"
              ],
              "args": [
                {
                  "name": "tab",
                  "description": "Tab reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--kind"
              ],
              "args": [
                {
                  "name": "kind",
                  "suggestions": [
                    "running",
                    "completed",
                    "finished",
                    "unread",
                    "error",
                    "awaiting-input"
                  ]
                }
              ]
            },
            {
              "names": [
                "--clear"
              ],
              "description": "Remove the current badge"
            }
          ],
          "args": [
            {
              "name": "tab",
              "description": "Tab reference (id or 'current')",
              "isOptional": true
            }
          ]
        }
      ]
    },
    {
      "name": "pane",
      "description": "Manage panes (requires running app)",
      "subcommands": [
        {
          "name": "show",
          "description": "Show one pane",
          "options": [
            {
              "names": [
                "--pane"
              ],
              "args": [
                {
                  "name": "pane",
                  "description": "Pane reference (id or 'current')",
                  "isOptional": true
                }
              ]
            }
          ],
          "args": [
            {
              "name": "pane",
              "description": "Pane reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "list",
          "description": "List panes",
          "options": [
            {
              "names": [
                "--window"
              ],
              "args": [
                {
                  "name": "window",
                  "description": "Window reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--tab"
              ],
              "args": [
                {
                  "name": "tab",
                  "description": "Tab reference (id or 'current')",
                  "isOptional": true
                }
              ]
            }
          ]
        },
        {
          "name": "split",
          "description": "Split a pane",
          "options": [
            {
              "names": [
                "--direction"
              ],
              "args": [
                {
                  "name": "direction",
                  "suggestions": [
                    "left",
                    "right",
                    "top",
                    "bottom"
                  ]
                }
              ]
            },
            {
              "names": [
                "--pane"
              ],
              "args": [
                {
                  "name": "pane",
                  "description": "Pane reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--cwd"
              ],
              "args": [
                {
                  "name": "path",
                  "template": "folders"
                }
              ]
            },
            {
              "names": [
                "--command"
              ],
              "args": [
                {
                  "name": "command"
                }
              ]
            },
            {
              "names": [
                "--title"
              ],
              "args": [
                {
                  "name": "title"
                }
              ]
            },
            {
              "names": [
                "--size"
              ],
              "args": [
                {
                  "name": "size"
                }
              ]
            },
            {
              "names": [
                "--no-focus"
              ]
            }
          ],
          "args": [
            {
              "name": "pane",
              "description": "Pane reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "close",
          "description": "Close a pane",
          "options": [
            {
              "names": [
                "--pane"
              ],
              "args": [
                {
                  "name": "pane",
                  "description": "Pane reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--force"
              ],
              "isDangerous": true
            }
          ],
          "args": [
            {
              "name": "pane",
              "description": "Pane reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "focus",
          "description": "Focus a pane",
          "options": [
            {
              "names": [
                "--pane"
              ],
              "args": [
                {
                  "name": "pane",
                  "description": "Pane reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--direction"
              ],
              "args": [
                {
                  "name": "direction",
                  "suggestions": [
                    "left",
                    "right",
                    "up",
                    "down"
                  ]
                }
              ]
            }
          ],
          "args": [
            {
              "name": "pane",
              "description": "Pane reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "zoom",
          "description": "Toggle zoom on a pane",
          "options": [
            {
              "names": [
                "--pane"
              ],
              "args": [
                {
                  "name": "pane",
                  "description": "Pane reference (id or 'current')",
                  "isOptional": true
                }
              ]
            }
          ],
          "args": [
            {
              "name": "pane",
              "description": "Pane reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "resize",
          "description": "Resize a pane",
          "options": [
            {
              "names": [
                "--pane"
              ],
              "args": [
                {
                  "name": "pane",
                  "description": "Pane reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--left"
              ],
              "args": [
                {
                  "name": "cells"
                }
              ]
            },
            {
              "names": [
                "--right"
              ],
              "args": [
                {
                  "name": "cells"
                }
              ]
            },
            {
              "names": [
                "--up"
              ],
              "args": [
                {
                  "name": "cells"
                }
              ]
            },
            {
              "names": [
                "--down"
              ],
              "args": [
                {
                  "name": "cells"
                }
              ]
            }
          ],
          "args": [
            {
              "name": "pane",
              "description": "Pane reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "send-keys",
          "description": "Send keys to a pane",
          "options": [
            {
              "names": [
                "--pane"
              ],
              "args": [
                {
                  "name": "pane",
                  "description": "Pane reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--bracketed-paste"
              ],
              "description": "Wrap input in bracketed-paste escapes"
            }
          ],
          "args": [
            {
              "name": "parts",
              "description": "Text and key parts (e.g., \"hello\" key:Enter)",
              "isOptional": true,
              "isVariadic": true
            }
          ]
        },
        {
          "name": "capture",
          "description": "Capture pane text",
          "options": [
            {
              "names": [
                "--pane"
              ],
              "args": [
                {
                  "name": "pane",
                  "description": "Pane reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--scope"
              ],
              "args": [
                {
                  "name": "scope",
                  "suggestions": [
                    "screen",
                    "scrollback",
                    "all"
                  ]
                }
              ]
            },
            {
              "names": [
                "--lines"
              ],
              "args": [
                {
                  "name": "n"
                }
              ]
            },
            {
              "names": [
                "--ansi"
              ],
              "description": "Preserve ANSI escapes"
            },
            {
              "names": [
                "--trim"
              ],
              "description": "Trim trailing blanks"
            }
          ],
          "args": [
            {
              "name": "pane",
              "description": "Pane reference (id or 'current')",
              "isOptional": true
            }
          ]
        },
        {
          "name": "badge",
          "description": "Set or clear the badge on the pane's tab",
          "options": [
            {
              "names": [
                "--pane"
              ],
              "args": [
                {
                  "name": "pane",
                  "description": "Pane reference (id or 'current')",
                  "isOptional": true
                }
              ]
            },
            {
              "names": [
                "--kind"
              ],
              "args": [
                {
                  "name": "kind",
                  "suggestions": [
                    "running",
                    "completed",
                    "finished",
                    "unread",
                    "error",
                    "awaiting-input"
                  ]
                }
              ]
            },
            {
              "names": [
                "--clear"
              ],
              "description": "Remove the current badge"
            }
          ],
          "args": [
            {
              "name": "pane",
              "description": "Pane reference (id or 'current')",
              "isOptional": true
            }
          ]
        }
      ]
    },
    {
      "name": "view",
      "description": "Open a file or URL inside an Otty pane, read-only by default",
      "options": [
        {
          "names": [
            "--mode"
          ],
          "description": "View mode",
          "args": [
            {
              "name": "mode",
              "suggestions": [
                "view",
                "edit"
              ]
            }
          ]
        },
        {
          "names": [
            "--new-tab"
          ],
          "description": "Open in a new tab",
          "exclusiveOn": [
            "--new-window",
            "--left",
            "--right",
            "--top",
            "--bottom"
          ]
        },
        {
          "names": [
            "--new-window"
          ],
          "description": "Open in a new window",
          "exclusiveOn": [
            "--new-tab",
            "--left",
            "--right",
            "--top",
            "--bottom"
          ]
        },
        {
          "names": [
            "--left"
          ],
          "description": "Split current pane to the left",
          "exclusiveOn": [
            "--new-tab",
            "--new-window",
            "--right",
            "--top",
            "--bottom"
          ]
        },
        {
          "names": [
            "--right"
          ],
          "description": "Split current pane to the right",
          "exclusiveOn": [
            "--new-tab",
            "--new-window",
            "--left",
            "--top",
            "--bottom"
          ]
        },
        {
          "names": [
            "--top"
          ],
          "description": "Split current pane to the top",
          "exclusiveOn": [
            "--new-tab",
            "--new-window",
            "--left",
            "--right",
            "--bottom"
          ]
        },
        {
          "names": [
            "--bottom"
          ],
          "description": "Split current pane to the bottom",
          "exclusiveOn": [
            "--new-tab",
            "--new-window",
            "--left",
            "--right",
            "--top"
          ]
        }
      ],
      "args": [
        {
          "name": "target",
          "description": "File path or http(s) URL",
          "template": "filepaths"
        }
      ]
    },
    {
      "name": "edit",
      "description": "Open a file inside an Otty pane in edit mode",
      "options": [
        {
          "names": [
            "--mode"
          ],
          "description": "View mode",
          "args": [
            {
              "name": "mode",
              "suggestions": [
                "view",
                "edit"
              ]
            }
          ]
        },
        {
          "names": [
            "--new-tab"
          ],
          "description": "Open in a new tab",
          "exclusiveOn": [
            "--new-window",
            "--left",
            "--right",
            "--top",
            "--bottom"
          ]
        },
        {
          "names": [
            "--new-window"
          ],
          "description": "Open in a new window",
          "exclusiveOn": [
            "--new-tab",
            "--left",
            "--right",
            "--top",
            "--bottom"
          ]
        },
        {
          "names": [
            "--left"
          ],
          "description": "Split current pane to the left",
          "exclusiveOn": [
            "--new-tab",
            "--new-window",
            "--right",
            "--top",
            "--bottom"
          ]
        },
        {
          "names": [
            "--right"
          ],
          "description": "Split current pane to the right",
          "exclusiveOn": [
            "--new-tab",
            "--new-window",
            "--left",
            "--top",
            "--bottom"
          ]
        },
        {
          "names": [
            "--top"
          ],
          "description": "Split current pane to the top",
          "exclusiveOn": [
            "--new-tab",
            "--new-window",
            "--left",
            "--right",
            "--bottom"
          ]
        },
        {
          "names": [
            "--bottom"
          ],
          "description": "Split current pane to the bottom",
          "exclusiveOn": [
            "--new-tab",
            "--new-window",
            "--left",
            "--right",
            "--top"
          ]
        }
      ],
      "args": [
        {
          "name": "target",
          "description": "File path",
          "template": "filepaths"
        }
      ]
    },
    {
      "name": "watch",
      "description": "Run a command with progress badge (spinning → finish/error badge)",
      "options": [
        {
          "names": [
            "-q",
            "--quiet"
          ],
          "description": "Suppress system notification on finish"
        }
      ],
      "args": [
        {
          "name": "command",
          "isVariadic": true
        }
      ]
    },
    {
      "name": "features",
      "description": "Try terminal feature samples (colors, emoji, OSC sequences, images, …)",
      "subcommands": [
        {
          "name": "list",
          "description": "List all available feature demos"
        },
        {
          "name": "try",
          "description": "Run one feature's demo sample",
          "args": [
            {
              "name": "name",
              "description": "Feature name (e.g. true-color)",
              "suggestions": [
                "true-color",
                "256color",
                "styles",
                "text-style",
                "font-blending",
                "emoji",
                "ligature",
                "cjk",
                "box-drawing",
                "nerd-font",
                "hyperlink",
                "set-title",
                "osc7",
                "clipboard-write",
                "clipboard-read",
                "notification",
                "notification-title",
                "notification-kitty",
                "beep",
                "progress",
                "error-state",
                "cursor-shape",
                "mouse-shape",
                "bracketed-paste",
                "sync-update",
                "color-scheme-update",
                "semantic-prompt",
                "kitty-image",
                "iterm-image",
                "ed-scroll-clear",
                "change-color"
              ]
            }
          ]
        },
        {
          "name": "true-color",
          "description": "24-bit RGB gradient strip",
          "hidden": true
        },
        {
          "name": "256color",
          "description": "xterm 256-color palette (16 + 6×6×6 + grays)",
          "hidden": true
        },
        {
          "name": "styles",
          "description": "bold / italic / underline / strike / reverse",
          "hidden": true
        },
        {
          "name": "text-style",
          "description": "bold / italic / underline combinations in ASCII + CJK",
          "hidden": true
        },
        {
          "name": "font-blending",
          "description": "same line on dark/medium/light SGR bg ×regular/bold",
          "hidden": true
        },
        {
          "name": "emoji",
          "description": "colorful and multi-codepoint emojis (ZWJ, flags, skin tones)",
          "hidden": true
        },
        {
          "name": "ligature",
          "description": "programming ligatures (->, =>, !=, >=, …)",
          "hidden": true
        },
        {
          "name": "cjk",
          "description": "CJK wide characters (中文 / 日本語 / 한국어)",
          "hidden": true
        },
        {
          "name": "box-drawing",
          "description": "Unicode box-drawing + braille glyphs",
          "hidden": true
        },
        {
          "name": "nerd-font",
          "description": "Nerd Font icon sampler (devicons, powerline, octicons)",
          "hidden": true
        },
        {
          "name": "hyperlink",
          "description": "OSC 8 clickable hyperlinks",
          "hidden": true
        },
        {
          "name": "set-title",
          "description": "OSC 2 set window title",
          "hidden": true
        },
        {
          "name": "osc7",
          "description": "OSC 7 report current working directory",
          "hidden": true
        },
        {
          "name": "clipboard-write",
          "description": "OSC 52 copy text to system clipboard",
          "hidden": true
        },
        {
          "name": "clipboard-read",
          "description": "OSC 52 request clipboard read",
          "hidden": true
        },
        {
          "name": "notification",
          "description": "OSC 9 desktop notification (iTerm2 style)",
          "hidden": true
        },
        {
          "name": "notification-title",
          "description": "OSC 777 desktop notification with title + body",
          "hidden": true
        },
        {
          "name": "notification-kitty",
          "description": "OSC 99 rich notification — chunked, urgency, replace-by-id, base64",
          "hidden": true
        },
        {
          "name": "beep",
          "description": "BEL (\\a) audible bell",
          "hidden": true
        },
        {
          "name": "progress",
          "description": "OSC 9;4 taskbar progress badge (animated)",
          "hidden": true
        },
        {
          "name": "error-state",
          "description": "OSC 133;D;1 + OSC 9;4;2 error badge",
          "hidden": true
        },
        {
          "name": "cursor-shape",
          "description": "DECSCUSR cursor shape cycle",
          "hidden": true
        },
        {
          "name": "mouse-shape",
          "description": "OSC 22 mouse pointer shape cycle (kitty/xterm)",
          "hidden": true
        },
        {
          "name": "bracketed-paste",
          "description": "enable/disable bracketed paste mode (DECSET 2004)",
          "hidden": true
        },
        {
          "name": "sync-update",
          "description": "atomic multi-line redraw via BSU/ESU (DECSET 2026)",
          "hidden": true
        },
        {
          "name": "color-scheme-update",
          "description": "DECSET 2031 color palette update notifications",
          "hidden": true
        },
        {
          "name": "semantic-prompt",
          "description": "OSC 133 shell integration markers (A/B/C/D)",
          "hidden": true
        },
        {
          "name": "kitty-image",
          "description": "inline image via Kitty graphics protocol (APC _G)",
          "hidden": true
        },
        {
          "name": "iterm-image",
          "description": "inline image via iTerm2 OSC 1337 File=…",
          "hidden": true
        },
        {
          "name": "ed-scroll-clear",
          "description": "CSI 22 J — push viewport into scrollback before erasing",
          "hidden": true
        },
        {
          "name": "change-color",
          "description": "interactive OSC 10/11/12/17/19 + XTPUSH/POPCOLORS picker",
          "hidden": true
        }
      ]
    },
    {
      "name": "ipc",
      "description": "Send a raw IPC command (used by hooks and integrations)",
      "options": [
        {
          "names": [
            "-p",
            "--param"
          ],
          "description": "Parameter as key=value",
          "isRepeatable": -1,
          "args": [
            {
              "name": "KEY=VALUE"
            }
          ]
        }
      ],
      "args": [
        {
          "name": "command",
          "description": "IPC command name (e.g. \"agent.state\")"
        }
      ]
    },
    {
      "name": "version",
      "description": "Show version information"
    },
    {
      "name": "jump",
      "description": "Jump to a frecency-ranked directory (requires running app)",
      "options": [
        {
          "names": [
            "--no-cd"
          ],
          "description": "Resolve only — don't inject cd into the focused pane"
        }
      ],
      "args": [
        {
          "name": "query",
          "description": "Substring tokens; basename matches are boosted",
          "isOptional": true
        }
      ],
      "subcommands": [
        {
          "name": "add",
          "description": "Add a directory to the jump database (omit path = CLI cwd)",
          "args": [
            {
              "name": "path",
              "description": "Directory to record",
              "isOptional": true,
              "template": "folders"
            }
          ]
        },
        {
          "name": "remove",
          "description": "Delete a directory from the jump database (omit path = CLI cwd)",
          "args": [
            {
              "name": "path",
              "description": "Directory to remove",
              "isOptional": true,
              "template": "folders"
            }
          ]
        },
        {
          "name": "view",
          "description": "Show the top match for a keyword/path and its frecency score",
          "args": [
            {
              "name": "keyword",
              "description": "Keyword or path substring"
            }
          ]
        },
        {
          "name": "ls",
          "description": "List the highest-scoring directories (default 100)",
          "args": [
            {
              "name": "count",
              "description": "Max entries to show",
              "isOptional": true
            }
          ]
        },
        {
          "name": "import",
          "description": "Import frecency entries from a local zoxide install"
        }
      ]
    },
    {
      "name": "learn",
      "description": "Record a directory visit in the frecency database",
      "args": [
        {
          "name": "path",
          "description": "Directory to record (omit = focused pane's cwd)",
          "isOptional": true,
          "template": "folders"
        }
      ]
    },
    {
      "name": "ignore",
      "description": "Black-list a directory: remove from frecency + sync zoxide remove",
      "args": [
        {
          "name": "path",
          "description": "Directory to forget",
          "template": "folders"
        }
      ]
    },
    {
      "name": "import",
      "description": "Import data from external tools into Otty's databases / config",
      "subcommands": [
        {
          "name": "zoxide",
          "description": "Import frecency entries from a local zoxide install"
        },
        {
          "name": "ghostty",
          "description": "Import a Ghostty config (~/.config/ghostty/config)",
          "options": [
            {
              "names": [
                "--overwrite"
              ],
              "description": "Overwrite conflicting keys with source values",
              "exclusiveOn": [
                "--keep"
              ]
            },
            {
              "names": [
                "--keep"
              ],
              "description": "Keep current values on conflicts (apply only non-conflicting keys)",
              "exclusiveOn": [
                "--overwrite"
              ]
            }
          ],
          "args": [
            {
              "name": "path",
              "description": "Override config path",
              "isOptional": true,
              "template": "filepaths"
            }
          ]
        },
        {
          "name": "kitty",
          "description": "Import a Kitty config (~/.config/kitty/kitty.conf)",
          "options": [
            {
              "names": [
                "--overwrite"
              ],
              "description": "Overwrite conflicting keys with source values",
              "exclusiveOn": [
                "--keep"
              ]
            },
            {
              "names": [
                "--keep"
              ],
              "description": "Keep current values on conflicts (apply only non-conflicting keys)",
              "exclusiveOn": [
                "--overwrite"
              ]
            }
          ],
          "args": [
            {
              "name": "path",
              "description": "Override config path",
              "isOptional": true,
              "template": "filepaths"
            }
          ]
        },
        {
          "name": "alacritty",
          "description": "Import an Alacritty config (~/.config/alacritty/alacritty.toml)",
          "options": [
            {
              "names": [
                "--overwrite"
              ],
              "description": "Overwrite conflicting keys with source values",
              "exclusiveOn": [
                "--keep"
              ]
            },
            {
              "names": [
                "--keep"
              ],
              "description": "Keep current values on conflicts (apply only non-conflicting keys)",
              "exclusiveOn": [
                "--overwrite"
              ]
            }
          ],
          "args": [
            {
              "name": "path",
              "description": "Override config path",
              "isOptional": true,
              "template": "filepaths"
            }
          ]
        }
      ]
    },
    {
      "name": "export",
      "description": "Export the current Otty config to another terminal's format",
      "subcommands": [
        {
          "name": "ghostty",
          "description": "Generate a Ghostty-format config from the current Otty config",
          "options": [
            {
              "names": [
                "-o",
                "--output"
              ],
              "description": "Destination path (omit to print to stdout)",
              "args": [
                {
                  "name": "path",
                  "template": "filepaths"
                }
              ]
            }
          ]
        },
        {
          "name": "kitty",
          "description": "Generate a Kitty-format kitty.conf from the current Otty config",
          "options": [
            {
              "names": [
                "-o",
                "--output"
              ],
              "description": "Destination path (omit to print to stdout)",
              "args": [
                {
                  "name": "path",
                  "template": "filepaths"
                }
              ]
            }
          ]
        },
        {
          "name": "alacritty",
          "description": "Generate an Alacritty-format alacritty.toml from the current Otty config",
          "options": [
            {
              "names": [
                "-o",
                "--output"
              ],
              "description": "Destination path (omit to print to stdout)",
              "args": [
                {
                  "name": "path",
                  "template": "filepaths"
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "watch:claude",
      "description": "Wait for a claude agent session to finish",
      "hidden": true,
      "options": [
        {
          "names": [
            "--interval-ms"
          ],
          "description": "Poll interval (default 5000)",
          "args": [
            {
              "name": "ms"
            }
          ]
        },
        {
          "names": [
            "--timeout-secs"
          ],
          "description": "Overall timeout in seconds (0 = forever)",
          "args": [
            {
              "name": "secs"
            }
          ]
        },
        {
          "names": [
            "-v",
            "--verbose"
          ],
          "description": "Print state transitions to stderr"
        }
      ],
      "args": [
        {
          "name": "session-id",
          "description": "Agent session ID (UUID reported by hooks)"
        }
      ]
    },
    {
      "name": "watch:codex",
      "description": "Wait for a codex agent session to finish",
      "hidden": true,
      "options": [
        {
          "names": [
            "--interval-ms"
          ],
          "description": "Poll interval (default 5000)",
          "args": [
            {
              "name": "ms"
            }
          ]
        },
        {
          "names": [
            "--timeout-secs"
          ],
          "description": "Overall timeout in seconds (0 = forever)",
          "args": [
            {
              "name": "secs"
            }
          ]
        },
        {
          "names": [
            "-v",
            "--verbose"
          ],
          "description": "Print state transitions to stderr"
        }
      ],
      "args": [
        {
          "name": "session-id",
          "description": "Agent session ID (UUID reported by hooks)"
        }
      ]
    },
    {
      "name": "watch:opencode",
      "description": "Wait for a opencode agent session to finish",
      "hidden": true,
      "options": [
        {
          "names": [
            "--interval-ms"
          ],
          "description": "Poll interval (default 5000)",
          "args": [
            {
              "name": "ms"
            }
          ]
        },
        {
          "names": [
            "--timeout-secs"
          ],
          "description": "Overall timeout in seconds (0 = forever)",
          "args": [
            {
              "name": "secs"
            }
          ]
        },
        {
          "names": [
            "-v",
            "--verbose"
          ],
          "description": "Print state transitions to stderr"
        }
      ],
      "args": [
        {
          "name": "session-id",
          "description": "Agent session ID (UUID reported by hooks)"
        }
      ]
    }
  ]
}
