Claude Modsunofficial directory

Interface·terminal·MIT

effort-cycle

Alt+E and Alt+Shift+E step the effort level, shown as a colored meter in the footer.

effort-cycle generic cover: a placeholder terminal with the band above the prompt highlighted

effort-cycle changes Claude Code’s reasoning effort from the keyboard. Alt+E steps it up one level, Alt+Shift+E steps it down, and the footer shows the model and level as a meter, like Opus 5.5 ▰▰▰▱▱ high. Unlike /effort, a press leaves no row in the transcript.

Recording from the effort-cycle repository, MIT license.

What it does

  • Five levels. low, medium, high, xhigh and max. Each key stops at its end, and a press past the end lights the level’s word instead.
  • A colored meter. The blocks and the word take the level’s color from your theme, gray at low through red at max. The blocks a press filled or emptied light up for a second. At max the model name turns red too, and a light runs along the bar while Claude works.
  • Fewer stops. /config lists five toggles, “Effort keys: include low” through “include max”, all on by default. The keys skip any level you turn off, on every model.

Install

Needs Claude Code 2.1.287 or later, plus two key bindings in ~/.claude/keybindings.json.

claude plugin marketplace add Anerco/plugins
claude plugin install effort-cycle@anerco

To work on the code instead, clone the repo and load it with claude --plugin-dir <folder>.

A mod cannot own a key. effort-cycle borrows two of Claude Code’s own keybinding actions, strip:jump9 for up and strip:jump8 for down, so you bind them yourself:

{
  "bindings": [
    { "context": "Global", "bindings": { "meta+e": "strip:jump9", "meta+shift+e": "strip:jump8" } }
  ]
}

Any key with Ctrl or Alt, or a chord, works in place of these. A bare letter does not, and neither does a key whose only modifier is Shift. On macOS, Option+E types an accent unless the terminal sends Option as Meta: turn on “Use Option as Meta key” in Terminal.app, set the left Option key to Esc+ in iTerm2, or set macos-option-as-alt = true in Ghostty. A ctrl chord avoids the question. Then press Alt+E and the meter moves up a block.

How it works

The mod never runs /effort. It hooks turn.step and rewrites the effort of each model request on the main thread, so the meter shows what your requests actually go out with. Subagents keep Claude Code’s own level. A pick belongs to the model it was made on: after a model switch, the meter shows the new model’s own level until you press again. Setting effort Claude Code’s way, with /effort or the Alt+P picker, takes over from the next request.

It reads your settings, to find the starting level, and the session’s model name. It makes no network calls and asks the model nothing. Its state lives in the session and is gone when the session ends.

Limitations

  • The spinner can show a different level from the footer (issue #1). The footer is the level requests use; the spinner reads Claude Code’s own state, which a mod cannot change.
  • A pick lasts for the session. A mod cannot write settings, so a restart starts again from the level in your settings.
  • Ultracode is not a step. It is a separate switch (/effort ultracode on) that works at any level, and mods have no way to flip it.
  • The author documents it only in the terminal.

Similar Claude Mods

The whole directory →