Add coding agent hooks for Claude Code and Codex#221
Merged
Conversation
Introduce Unix domain socket server for receiving agent hook messages, settings file installers for managing hook configuration, and UI for toggling hook installation per agent. Includes busy state tracking on terminal surfaces, notification forwarding, and deduplication logic.
0b5598c to
d84c895
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Port some of Supaterm's advanced coding agents' functionality.
AgentHookSocketServer) for receiving busy state and notification messages from coding agents running inside Ghostty terminals.~/.claude/settings.jsonand~/.codex/hooks.json.Test plan
AgentHookSocketServerTests— message parsing (busy, notification, malformed, edge cases)AgentHookSettingsFileInstallerTests— install, uninstall, idempotency, legacy pruning, error handlingAgentHookCommandTests— command generation, ownership detectionAgentBusyStateTests— busy flag bubbling through surface → tab → worktreeSettingsFeatureAgentHookTests— TCA reducer state machine (check, install, uninstall, failure, loading guard)CodexSettingsInstallerTests— enable hooks feature (success, failure, unavailable)WorktreeTerminalManagerTests— socket server wiring, routingSettingsFeatureTests—.taskwiring for all four hook checksmake build-app