Diagnose git rebase --continue freeze in agent shell
Session from pi-extensions-sessions on Hugging Face by thomasmustier · MIT · condensed by Coders Talk
2msession
0interventions
GOAL
The developer wanted to understand why the agent appeared to freeze when running `git rebase --continue`, and to get an explanation in plain terms since they are new to engineering.
- +0Prompt · +0The agent appears to freeze on `git -C /Users/thomasmustier/pi-extensions rebase --continue` - why?
- +0mAgent did · +0mRead the long-task-harness skill file and gave general hypotheses (editor waiting, hook running, gpg prompt, unresolved conflict), suggested diagnostic commands.
- +1mPrompt · +1mPointed the agent to a debug log and noted they had aborted the rebase command.
- +1mAgent did · +1mRead the pi-debug.log in chunks and grepped it for 'rebase' to find the relevant terminal output.
- +1mAgent did · +1mIdentified the freeze as `git rebase --continue` launching Vim to edit the commit message, which hangs waiting on a non-interactive TTY; suggested using GIT_EDITOR=true or a non-blocking core.editor.
- +2mPrompt · +2mAsked the agent to explain what the raw log output actually was.
- +2mAgent did · +2mExplained the escape-sequence output was Vim's terminal UI being drawn without a real TTY, causing the apparent freeze while waiting for the editor to exit.
- +2mPrompt · +2mAsked for the underlying terms to be defined in plain English, since they're new to engineering.
- +2mOutcome · +2mRoot cause explained: git rebase --continue was blocking on Vim opening the commit message editor with no real terminal available; fix is to set a non-interactive editor (GIT_EDITOR=true or core.editor).
VERDICT
Next time I'd start by attaching the debug log up front instead of describing the symptom first, since that's what actually let the agent pin down the cause. The correction that mattered was pointing it at pi-debug.log directly rather than letting it guess with generic git troubleshooting steps. Ending with a plain-English breakdown of the terms was useful since I'm new to this and needed the 'why' spelled out, not just the fix.