Skip to content

plugin-tmux

Placement compiled-in (in-process)
Source github.com/opencharly/charly/candy/plugin-tmux
Version 2026.199.1330
Candy plugin-tmux

This plugin is listed in charly/charly.yml’s compiled_plugins:, so its providers are compiled into the charly binary and register in-process.

The reserved words this plugin serves:

  • tmux — agent-runtime class
  • tmux — terminal class

Generic typed terminal and terminal-agent runtime backed by tmux control mode. Each run owns an isolated socket; literal input, bracketed paste, keys, resize, signals, ordered raw output, snapshots, detach/reattach, exit status, and cleanup travel only through the CUE-generated Provider.Channel contract. It is placement-neutral and therefore works locally, over gRPC/SSH, and in nested deployments.

Operators and MCP clients use charly agent terminal, so terminal operations never recursively invoke charly cmd or charly shell.

The CUE schema below is the authoritative grammar for this plugin’s input. It is the same single source that generates the plugin’s Go parameter types and answers the runtime Describe RPC, so this page cannot disagree with either.

// The tmux plugin's self-contained declaration contract. Terminal and agent
// channel payloads use sdk/schema/agent_control.cue directly; this plugin does
// not duplicate those wire shapes.
#TmuxPlugin: {
providers: ["terminal:tmux", "agent-runtime:tmux"]
contract: "sdk-terminal-profile-v2"
}

See also the candy reference for this candy’s install surface.