gstack's /careful stops asking about words in your commit messages

1 hour ago

gstack 1.91.212.0 to 1.91.213.0 (2026-10-25): the /careful hook stops asking for approval over words inside a git commit message, including the heredoc messages agents write, while everything around the message is still checked. Changelog: https://github.com/garrytan/gstack/blob/main/CHANGELOG.md 1.91.212.0: https://github.com/garrytan/gstack/blob/main/CHANGELOG.md#1912120---2026-10-25 1.91.213.0: https://github.com/garrytan/gstack/blob/main/CHANGELOG.md#1912130---2026-10-25 Commits: https://github.com/garrytan/gstack/commits/main

Ask about this presentation

Chapters

  1. 0:00Commits
  2. 0:13Heredocs
  3. 0:28Still asks
  4. 0:42Limits
  5. 0:54Verdict
Show transcript

Commits

gstack logo

gstack’s /careful stops asking about words in your commit messages

$ git commit -m "fix: prevent drop table in migration"
/carefulasks: SQL DROP
/carefulruns
CommitsHeredocsStill asksLimitsVerdict
garrytan/gstack · CHANGELOG.md · 1.91.212.0

The /careful hook in gstack checked your whole command, so a commit message that said prevent drop table asked for approval as a database drop. Now the words inside a commit message pass straight through.

Heredocs

The heredoc message agents write most is covered

$ git commit -m "$(cat <<'EOF'
drop the old cache table
EOF
)"
--amendgit -C repo--message=multi-line
CommitsHeredocsStill asksLimitsVerdict
garrytan/gstack · CHANGELOG.md · 1.91.212.0

That includes the form agents write most often: a multi-line message passed in through a heredoc. Amended commits, commits run against another folder, and every message flag are covered too.

Still asks

Everything around the message is still checked

A command on the next line
Another command’s -m
A pipe after the commit
The outright deny rules still read the whole command.
CommitsHeredocsStill asksLimitsVerdict
garrytan/gstack · CHANGELOG.md · 1.91.212.0

The guard still asks about everything around the message: a command on the next line, another command's message flag, and a pipe after the commit. The rules that block outright still read the whole command.

Limits

Two commit forms can still ask about message words

$ git commit -F - <<'EOF'
$ sudo git commit -m "…"
Commits after an environment variable assignment are not masked either.
CommitsHeredocsStill asksLimitsVerdict
garrytan/gstack · CHANGELOG.md · 1.91.212.0

Two forms are still not covered: a message fed to git on standard input, and a commit that follows sudo or an environment variable. A risky word there still stops you.

Verdict

If you run /careful, I would upgrade now

CHANGELOG.mdgarrytan/gstack · 1.91.212.0
CommitsHeredocsStill asksLimitsVerdict
garrytan/gstack · CHANGELOG.md · 1.91.212.0

If you run /careful with Claude Code, I would upgrade now: commits stop pausing over their own wording, and every real command still gets checked. The full notes are in the gstack changelog.

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 ❤️