What I Learned From My First Claude Code Cloud Sessions A developer building the Laravel and NativePHP macOS menu bar app Sudo Play using Claude Code cloud sessions with $250 in free credit found that Claude Code 2.1.287 changed the `--cloud` flag to accept only one argument, silently dropping the second, so two sessions started with only a title and one built an entire pull request without ever seeing its brief. The developer also reported that three consecutive cloud sessions running PHP 8.3 ignored explicit brief instructions that PHP 8.4 could not be installed in the Linux container, while rules in `AGENTS.md` held every time. The workflow now uses two commands — one to create the session and one to send the brief by session id — and every brief begins by asking the session to repeat the branch name to confirm the brief arrived. AI What I Learned From My First Claude Code Cloud Sessions I built a Laravel app in Claude Code cloud sessions with a $250 credit. What worked, what broke, and why I still prefer my laptop. how to use AI series - 1 AI Code Hallucinations: When Your AI Writes Confident Nonsense https://albertoarena.it/posts/ai-hallucination-in-coding-agents/ - 2 We Became Editors-in-Chief, and Nobody Trained Us https://albertoarena.it/posts/we-became-editors-in-chief/ - 3 Claude Code Auto Mode: What Still Needs a Human https://albertoarena.it/posts/claude-code-auto-mode-still-needs-a-human/ - 4 Context Engineering: The Discipline That Keeps AI From Writing Slop https://albertoarena.it/posts/context-engineering-not-slop/ - 5 Agent Teams: Why I Don't Let My Reviewer See My Reasoning https://albertoarena.it/posts/agent-teams-isolated-reviewer/ - 6 I told Claude not to sign my commits. It signed 25 of them. https://albertoarena.it/posts/i-told-claude-not-to-sign-my-commits/ - 7 The Effort Was the Filter https://albertoarena.it/posts/the-effort-was-the-filter/ - 8 The Sound of Silence: What Your AI Agent Does Not Tell You https://albertoarena.it/posts/the-sound-of-silence/ - 9 What I Learned From My First Claude Code Cloud Sessions View series → https://albertoarena.it/series/how-to-use-ai/ I got $250 of free credit for Claude Code in the cloud. I had used the Claude Code app a few times, but never the way I tried now: from the terminal, with claude --cloud . So I took a real project and built it that way, one milestone at a time. The project is Sudo Play https://github.com/albertoarena/sudo-play , a small macOS menu bar app I built with Laravel and NativePHP. I understood very little about how cloud sessions work when I started, so this is mostly what I found out by doing it. Two Claudes, and me in the middle I used two Claudes. The first one runs on my laptop. For each milestone it writes a brief: what to read first, the branch name, the scope, the tests to write, and what not to touch. Later it reviews the result. The second one runs in the cloud, in a Linux container. It reads the brief, writes the code test first, opens a pull request and stops. I start each session, carry the result back, and merge. Nothing was merged without me. There is one limit. From your terminal you can send a message to a cloud session, but you cannot read its reply. So I copied the final report from claude.ai and pasted it into my local session. It is not elegant, but it works. It is also the idea behind an isolated reviewer https://albertoarena.it/posts/agent-teams-isolated-reviewer/ : the agent that wrote the code should not be the one that judges it. The command that stopped working My briefs are markdown files, and the last section is called The prompt . At first I launched each session with the brief as a second argument: claude --cloud "Sudo Play: M5" "$ sed -n '/^ The prompt$/,$p' .docs/M5-BRIEF.md | tail -n +3 " Then Claude Code 2.1.287 changed it. The --cloud flag now takes one argument, and the second one is dropped with no error. I checked with claude --help , which shows --cloud description|session id|url . Two of my sessions started with only the title. One of them built a whole pull request without ever seeing its brief. Now it takes two commands. The first creates the session, and it needs a real terminal: claude --cloud "Sudo Play: M5" The second sends the brief to that session, using its id. It can run from anywhere, including from my local Claude: claude -p "$ sed -n '/^ The prompt$/,$p' .docs/M5-BRIEF.md | tail -n +3 " --cloud