The Claude Code Changelog
All Episodes
Claude Code 2.1.259 Fixes CI Prompt Hangups

Claude Code 2.1.259 Fixes CI Prompt Hangups

0:00|0:00

We break down Claude Code 2.1.259’s new unattended-host workflow, including --permission-prompts none, how denied prompts keep CI jobs moving, and what to watch for with preapproved tools. The episode also covers the parallel-session state fix, plus quality-of-life updates for GitLab MR commands and plugin validation.


Chapter 1

Unattended CI CD Automation with permission prompts none in Claude Code 2.1.259

James Turner

Picture this. It is two in the morning, your automated GitHub Actions pipeline starts up, runs Claude Code to fix a quick lint issue, and then... nothing. Silence for a full hour until the runner hits its sixty minute timeout and dies.

Lachlan Reed

Oh, mate, don't give me night terrors! I have been there. It is hanging on a terminal prompt, isn't it? Just sitting there waiting for a human to hit Y or N on an interactive permission prompt, but there is no human in the building!

James Turner

Exactly. And that exact nightmare is why this release is such a huge deal. Before we break down the fix, a quick shoutout to our sponsor, Jellypod AI. Now, on September 2, 2026, Anthropic released Claude Code version 2.1.259, and it introduces a flagship feature specifically built for unattended hosts.

Lachlan Reed

What is the new flag called?

James Turner

It is double dash permission prompts none.

Lachlan Reed

Right! So double dash permission prompts none. What does that actually tell the CLI when it runs headless?

James Turner

It explicitly signals to the CLI that no human operator is logged in or watching the TTY. So, if any action comes up that would normally pop an interactive confirmation prompt, the system automatically denies it right on the spot while letting auto mode keep evaluating everything else.

Lachlan Reed

Ah, that is bloody brilliant! Because in a headless setup, if it prompts, you are dead in the water anyway.

James Turner

Right! And here is how you write it into your pipeline scripts. You run something like claude dash p, quote, run test suite and fix lint errors, end quote, followed by double dash permission mode auto and double dash permission prompts none.

Lachlan Reed

Wait, let me make sure I follow. Why is denying the prompt immediately so much better than just killing the whole session?

James Turner

Think about how the AI agent works. When a tool call is denied, Claude actually receives that denial as feedback in its conversation context. So instead of the entire runner freezing up, Claude goes, ah, okay, I do not have permission to run that command directly, let me try a safer alternative tool, or report the limitation clearly and finish the step.

Lachlan Reed

Right, right, it pivot, it pivot... um, it pivots instead of crashing!

James Turner

Exactly.

Lachlan Reed

Now, is there a catch here? What if you actually need it to run something like git push or npm test in that job?

James Turner

That is the big caveat. If your project settings in dot claude slash settings dot json or your command line options like double dash allowedTools haven't already pre approved those commands, double dash permission prompts none will deny them immediately. And if those steps are critical, your task step fails.

Lachlan Reed

So you have to make sure your permission allowlist is properly configured beforehand, or auto mode will just bounce off the wall.

James Turner

Precisely. You have to lay the track before the train runs.

Lachlan Reed

Makes total sense. Hey, speaking of running parallel jobs in CI, didn't 2.1.259 fix a massive bug with session states?

James Turner

Yes! This was a huge pain point for matrix builds. If you ran concurrent Claude Code sessions in parallel on the same host, they used to race each other to write to tilde slash dot claude dot json.

Lachlan Reed

Oh, classic race condition! One session finishes, writes its state, and silently overwrites the workspace trust or Model Context Protocol configs from the other session!

James Turner

Yep. In 2.1.259, that file locking is completely fixed. Workspace trust and MCP server states no longer get wiped when you are running multi agent matrix jobs in parallel.

Lachlan Reed

That is going to save so many DevOps engineers from pulling their hair out at 3 AM. I actually had a nightly maintenance script on my shed server that kept stalling out last week because of a rogue prompt. Upgraded to 2.1.259, tossed double dash permission prompts none into the cron job, and boom, smooth sailing ever since.

James Turner

Love to hear it. And there are a couple other great quality of life wins in this release too, right?

Lachlan Reed

Yeah! If you are on GitLab, Claude Code now natively recognizes glab mr commands. So whether you create, merge, close, or note on a merge request, it shows up as MR exclamation mark N right in your tool summary and updates the footer badge, just like GitHub pull requests do.

James Turner

Plus, for plugin creators, you now have claude plugin validate double dash json, which gives you a clean, machine readable validation report for your plugin CI pipelines.

Lachlan Reed

So the bottom line today is simple: update to version 2.1.259 right now, and append double dash permission prompts none to all your non interactive automated scripts. Never suffer a silent runner timeout again.

James Turner

Couldn't have said it better myself. Good chatting, mate!

Lachlan Reed

Cheers, see ya next time!