What happens at each level
Last Call checks the battery on every prompt and tool call. It usually takes a few milliseconds, never touches the network, and if anything goes wrong it steps aside and lets the tool run.
Every agent is told the battery level and asked to finish the current step without starting long jobs: builds, full test suites, subagent fan-outs.
Subagents and long commands are blocked. The agent is told to write .lastcall/HANDOFF.md with what was done, what is in flight, the exact next steps and the files touched, commit to a lastcall/wip branch without pushing, and stop.
Every tool is blocked except writing the handoff note and a short list of local git commands (status, diff, add, commit, stash, a lastcall/wip branch). No push, no reset, no chaining. Saving the record is the only thing left to do.
Plugged in, it all clears. No messages, no blocks. On a Mac with no battery, Last Call stays out of the way until you pick Wrap up all agents now. Thresholds live in ~/.lastcall/config.
Questions
- Does it move my sessions to another machine?
- No. It keeps the record so you can pick up anywhere. On the same Mac, run
claude --resume. Anywhere else, pull the lastcall/wip branch and start a session that reads .lastcall/HANDOFF.md. - Will it break my existing hooks?
- No. The installer backs up ~/.claude/settings.json and adds its three entries next to yours. If the file is not valid JSON, it stops before changing anything. If the hook cannot read the battery or its input, the tool runs as normal and the reason goes to ~/.lastcall/lastcall.log.
- What is enforced, and what is guidance?
- Blocking is enforced by the hook: at 10% subagents and long commands are refused, and at 5% every tool except the handoff note and git is refused. The model does not get a vote. Long commands at 10% are recognized by name (installs, builds, test runs, docker, make, long sleeps and similar, also behind env, time or sh -c), so an unusual command or a custom script can slip through. At 5% the rule is an exact allowlist: the handoff note, and one plain local git command at a time with no shell syntax. Push, reset, clean, rebase and the rest are refused. Writing the handoff and committing are instructions the agent is given; a good model follows them, but Last Call does not write or commit anything itself. If there is nothing to commit, it will not commit.
- Does it push my code anywhere?
- No. The commit stays on a local branch, and at 5% git push is refused. Pushing is up to you.
- Can I try it without draining my battery?
- Start a session with
LASTCALL_FAKE_BATTERY=8 claude, or pick Wrap up all agents now from the menu bar. - How do I remove it?
curl -fsSL https://lastagentcall.com/uninstall.sh | bashremoves the hook entries, the app and ~/.lastcall, and leaves your other settings as they were.- How do I know the installer got the right files?
- When piped through curl, install.sh checks every file it downloads against SHA256SUMS and installs nothing on a mismatch. That catches broken or mismatched downloads. The list is served from this site too, so to check provenance, compare it with the copy in the GitHub repo, or install from a checkout.
- What does it cost?
- Nothing. MIT licensed.