rtk-ai / rtk-ai/rtk

Six meta commands still spend the daily hook reminder, silencing the next filtered command for 24h

Open
#4,036 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:cli bug help wanted priority:medium
Dominant language
Rust
Stars
81.1k
Forks
5.1k
Avg merge
4d 21h
Merged PRs (30d)
35

Description

Summary

hook_check::maybe_warn() does not only print the daily reminder — it touches the once-a-day marker (.hook_warn_last). So any command that triggers it spends the day's reminder, whether or not that command was a sensible place to show it.

#1422 fixed this for init and verify, and gain was already exempt. Six meta commands still burn it:

config, trust, hook-audit, discover, session, cc-economics

None of them print hook status of their own, and none go through the hook pipeline. The user runs one of them, gets a reminder they cannot act on in context, and the next command that should have been hooked stays silent for 24 hours.

Reproduction

Isolated HOME with a .claude directory and no hook registered:

$ rtk config            # prints [rtk] /!\ No hook installed …, marker now burned
$ rtk ls                # silent for the next 24h — the command that should have been hooked

Contrast with the commands #1422 fixed, where the reminder survives to the run that can act on it:

$ rtk verify --filter X  # quiet, marker intact
$ rtk ls                 # [rtk] /!\ No hook installed …

Suggested direction

The exclusion is currently a hand-maintained matches! in run_cli, sitting next to is_operational_command, which already encodes the meta-vs-operational split as an explicit allowlist. Deciding the reminder from that same classification — rather than a second list that has to be remembered — would close the class instead of the next instance.

Worth noting two open PRs are each adding one more member to that list by hand: #3582 (Hook) and #3614 (Hook, Rewrite).

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in run_cli, where the hook reminder exclusion and is_operational_command classification are defined. Reproduce the isolated-HOME config-then-ls sequence, then inspect how the six listed meta commands and the operational allowlist affect the once-a-day marker. Done means those meta commands no longer consume the marker, while a subsequent hooked command can still display the reminder.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
74/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.