Repository navigation
Version 0.36.0
New Features
- Open terminal links in a session overlay. Settings ▸ General ▸ Open links in chooses where a command-clicked web link opens: the browser, still the default, or a full web overlay over its session with JavaScript, navigation buttons and saved logins.
agtermctl browser links [browser|overlay]sets or prints it, andtreereportslinkOpenMode. A link still opens in the browser when it sits in a HUD, a program overlay or the quick terminal, when the session's overlay slot is taken or its window has a zoomed terminal, and for plain http to a qualified host name outside.local.session overlay open --url URL --browselets a URL page follow links, forms and redirects to other sites, and reads back ashtmlOverlays[].browse#708 @umputun - Attach Remote from the File menu.
remotes.confin the config directory lists one remote per line asdestination [label...], and File ▸ Attach Remote… attaches a session from one of them with no custom command. With several remotes it asks which Mac first, then shows the session picker. A HUD over the starting session shows the ssh waits and a failure.attach_remoteis a built-in keymap action on ⌘⇧R, in the command palette too. A keymap that already binds that chord keeps it. The file is watched, so an edit updates the menu without a reload #710 @umputun - Sticky and frameless HUD panels.
session hud --stickyputs the panel flush against the edge or corner--positionnames and lets--size-percentreach 100 there.--no-framedrops the border, the rounded corners and the blank row above and below the text. Together they make a caption pinned to an edge. Both read back ashud.stickyandhud.frame#709 @umputun - Links in a markdown HUD. A
[label](url)link insession hud --markdownrenders as its underlined label and opens on command-click, the same gesture as a link in the terminal. Web, mail and ftp links open, a localfile://link is revealed in Finder. The link used to show its label only #707 @umputun agtermctl clipboard set [TEXT]copies text, or stdin when there is no argument, to the clipboard of every terminal showing the pane it runs in. In a session attached from another Macpbcopyfills the clipboard of the Mac the program runs on; this one reaches the Mac you sit at. It needs a main or split pane started under Live sessions, and each terminal applies its ownclipboard-writesetting #722 @umputun- the flagged view gets a third layout,
plain: the flat list with the session name alone, without the: workspacesuffix. It is "Flat list, names only" in Settings ▸ General ▸ Flagged view layout andagtermctl sidebar flagged-layout plainfrom the CLI.flatstays the default, andflagged-layout togglestill switches betweentreeandflat#718 @umputun - a page opened with
--jscloses its overlay when it callswindow.close(), andsession overlay result --pagereportsdismissed. A URL page had no way to end itself. Behavior change: such a page can dismiss its overlay without a prompt #704 @umputun #702
Improved
session restart (--pane-id ID | --pane left|right)with no--commandruns the pane's foreground program again, in the directory it is running in. It is refused with nothing changed when a shell holds the pane, when the program cannot be read (sudo,top) or when it is listed inrestore-denylist.conf. Environment assignments, redirections and the rest of a pipeline are not replayed. The reply carries the argv asrestart.replayedArgv. Behavior change: the call without--commandused to fail withsession.restart requires a command#701 @umputun- a HUD keeps its height when the window grows, and a markdown panel on a narrowed pane gains the wrapped row where it used to cut text with
… N more. Markdown wraps at the panel's own width; it used to wrap at 60 columns in a narrower pane and cut each row #707 #709 @umputun
Bug Fixes
- a Claude Code session read
activefor about six seconds after a permission prompt opened, and never turnedblockedwhile keys were pressed in the prompt. The installed hooks now setblockedas the prompt opens, and Esc or Ctrl-C in the prompt clears it when Status reset is On Enter. Re-run Help ▸ Install Agent Status Hooks… to update an existing install #721 @umputun #720 - with several event subscribers a short stall in the app made the control socket refuse connections, so status hooks and scripts failed with
Connection refused. The socket now queues up to 128 waiting clients, where it queued 8 #717 @p4elkin #715 agtermctl eventsexited on a refused connection and lost every event emitted until its restart. Once it holds a cursor it retries with a backoff from 250 ms to 4 s and reads on from the same cursor, and exits after about 30 seconds of refusals #716 @p4elkin #715- ctrl+j and ctrl+k did not move the selection in the palettes and
agtermctl pickon a non-Latin keyboard layout such as Cyrillic #705 @umputun - a custom command started in a session whose directory was removed failed with
The file "name" doesn't exist.It now sayssession directory <path> no longer exists312987a @umputun - the sidebar's remote icon stayed a crossed-out cloud after the connection to the other Mac came up #710 @umputun
- a custom
window-padding-ycould cut HUD text, and aconfig-fileinclude that restated a key outranked a session background or a HUD's font size #709 @umputun
Signed with a Developer ID certificate and notarized by Apple, so macOS Gatekeeper opens it with no extra steps. Apple Silicon (arm64) only, macOS 14 or later.
- Homebrew:
brew install --cask umputun/apps/agterm - Direct download: open the
.dmgand dragagterm.appinto/Applications.