v1.249.0

3 hours ago

Shep 1.249.0 adds one feature to the terminal console. Pick any feature, press a key, and its shell or its live agent log opens in a split pane beside the console. Here it is in tmux. It also works in Zellij, WezTerm and kitty, and in a plain terminal with no multiplexer at all.

Ask about this presentation

Chapters

  1. 0:00Shep 1.249.0: panes in shep tui
  2. 0:20Before: leave the console
  3. 0:38t: a shell in the worktree
  4. 0:59f: follow the agent log
  5. 1:15Which multiplexer gets the pane
  6. 1:36No multiplexer: the console steps aside
  7. 1:53/ filters the roster
  8. 2:14Alerts when a feature needs you
  9. 2:38Upgrade to 1.249.0
Show transcript
  1. Shep 1.249.0 adds one feature to the terminal console. Pick any feature, press a key, and its shell or its live agent log opens in a split pane beside the console. Here it is in tmux. It also works in Zellij, WezTerm and kitty, and in a plain terminal with no multiplexer at all.

    Slide text
    shep v1.249.0

    ❯shep tui opens a feature's shell or agent log in a pane beside the console

    tmux · Zellij · WezTerm · kitty

    shep tui in tmux with a shell pane and a log pane open beside it
    [shep] 1.249.0 1:t shell 2:f log 3:panes 4:inline 5:/ filter 6:alerts 7:upgrade shep tui
  2. The console already showed every feature and let you approve, reject, stop and resume runs. But to look inside one, you left it. You copied the worktree path into another terminal, or ran the log command in a second window you set up yourself. Now the console opens that second view for you.

    Slide text

    ❯Looking inside a feature used to mean leaving the console

    • copy the worktree path into another terminal
    • run shep feat logs -f <id> in a window you arranged yourself
    t f one key, a pane opens next to the dashboard
    [shep] 1.249.0 1:t shell 2:f log 3:panes 4:inline 5:/ filter 6:alerts 7:upgrade shep tui
  3. Press t, and a shell opens in a split pane, already inside that feature's worktree. Before the worktree exists, it opens in the repository. The pane takes focus, and it inherits the console's SHEP_HOME, so any shep command you run there sees the same features. Capital T opens it in a new window or tab instead.

    Slide text
    t

    opens a shell in the feature's worktree

    takes focus the pane is ready to type in
    shares SHEP_HOME its shep commands see the same features
    T new window or a new tab, instead of a split
    [shep] 1.249.0 1:t shell 2:f log 3:panes 4:inline 5:/ filter 6:alerts 7:upgrade shep tui
  4. Press f, and the agent log for that feature opens on the right and keeps following. Focus stays on the console, so you can keep moving through your features. Capital F puts the log in a new window. And when you quit the console, the panes it opened keep running.

    Slide text
    shep tui with the followed agent log in a tmux split on the right
    f

    follows the agent log, and focus stays on the console

    shep feat logs -f <id>

    F opens the log in a new window

    quit with q and the panes it opened keep running

    [shep] 1.249.0 1:t shell 2:f log 3:panes 4:inline 5:/ filter 6:alerts 7:upgrade shep tui
  5. Shep finds the multiplexer from its session variable, in a fixed order: tmux first, then Zellij, WezTerm and kitty. So when tmux runs inside a WezTerm window, tmux is the one that splits. kitty needs remote control turned on in its config. To choose one yourself, set SHEP_MULTIPLEXER. Set it to none, and panes are off.

    Slide text

    ❯Shep opens the pane in the multiplexer you are running

    1 tmux TMUX
    2 Zellij ZELLIJ
    3 WezTerm WEZTERM_PANE
    4 kitty KITTY_WINDOW_ID needs allow_remote_control yes

    SHEP_MULTIPLEXER=tmux|zellij|wezterm|kitty picks one

    SHEP_MULTIPLEXER=none turns panes off

    [shep] 1.249.0 1:t shell 2:f log 3:panes 4:inline 5:/ filter 6:alerts 7:upgrade shep tui
  6. Outside a multiplexer, t and f still work. The console steps aside and runs the shell or the log right in the same terminal. Type exit in the shell, or press control C on the log, and the console comes back, redrawn, with the feature you had selected.

    Slide text

    ❯With no multiplexer, the console steps aside and lends you the terminal

    exit the shell, or ctrl+c the log, and the console comes back with your selection

    [shep] 1.249.0 1:t shell 2:f log 3:panes 4:inline 5:/ filter 6:alerts 7:upgrade shep tui
  7. Slash opens a filter. Every word you type has to match, across the name, id, repository, branch, state, phase and agent of each feature. Typing rate leaves just Rate Limit The Public API in the roster, while the needs you strip at the top still lists all four features. Enter keeps the filter, and escape clears it.

    Slide text
    /

    narrows the roster to every word you type

    name · id · repository · branch · state · phase · agent

    [shep] 1.249.0 1:t shell 2:f log 3:panes 4:inline 5:/ filter 6:alerts 7:upgrade shep tui
  8. Until now, a feature that reached a gate while you worked in another pane changed one row on screen. Now the console sends your terminal's own notification, or a bell where it has none. In tmux, set allow passthrough to on to get the notification as well as the bell. The window title also counts the features waiting on you. Alerts are on by default, and the no notify flag turns them off.

    Slide text

    ❯The console now alerts you when a feature starts needing you

    iTerm2 OSC 9
    WezTerm, Ghostty OSC 777
    kitty OSC 99
    Zellij, others bell
    tmux passthrough + bell set allow-passthrough on
    window title shep · needs you: 4
    on by default · shep tui --no-notify turns it off
    [shep] 1.249.0 1:t shell 2:f log 3:panes 4:inline 5:/ filter 6:alerts 7:upgrade shep tui
  9. One limit. Agents run as headless workers, so there is no live agent session to attach to yet. The followed log is the closest view for now. The release adds keys and one flag, and its notes list no breaking changes. Install version 1.249.0 of the shep CLI from npm, and press t on your next feature to open its shell beside the console.

    Slide text
    limit

    Agents run as headless workers, so there is no live agent session to attach to. The log pane is the attach view for now.

    ❯Upgrade, then press t on your next feature

    $ npm i -g @shepai/cli@1.249.0

    kitty: allow_remote_control yes · tmux: allow-passthrough on

    github.com/shep-ai/shep

    [shep] 1.249.0 1:t shell 2:f log 3:panes 4:inline 5:/ filter 6:alerts 7:upgrade shep tui

What happened in AI today, in your inbox

One short email each evening. Read it and you’re caught up.

Built in New York with ❤️