Show HN: Claude Composer (github.com)
144 points by mikebannister 17 hours ago
Central feature is a something like "yolo mode" but with fine grained controls over how yolo you're feeling. Also makes it easy to use "presets" of tools and permissions.
Let me know if you have any questions and feel free to contact me on X at https://x.com/possibilities
bubblyworld 6 hours ago
Am I the only person who just runs claude code in yolo mode? Curious about these tools for fine-grained permission, did you get burned in a bad way?
I think I'm going to trigger half of hacker news with this, but honestly nothing claude does on my machine seems particularly scary, and it's way too far from AGI for me to worry about hostile takeover right now =P
Jeff_Brown 2 hours ago
I just rub it in Docker to limit folder access and prevent it from being able to push to my remote repo. Indestructible.
bubblyworld an hour ago
Not a bad idea, thanks.
zackify 27 minutes ago
mikebannister 4 hours ago
Personally yes I do run it in yolo mode. And I think, to the extent anyone will use this project, people mostly won't be using the fine grained control. For me toolsets and full yolo are what is useful in this project.
I think the real use cases are something like:
1. Try cautious mode, gain confidence, switch to yolo 2. Use yolo mode and find that it keeps doing something that annoys or scares you so you configure an exception for it
On number 2 I thought I would use it this way to prevent some unwanted behavior but I ended up learning how to avoid those behaviors in other ways.
bubblyworld 2 hours ago
Fair, I've had a similar experience. The edge-cases like installing weird dependencies (somebody mentioned that on this thread) I just deal with by changing my CLAUDE.md, and so far that's been fine.
mikebannister 4 hours ago
I think if I end up not finding a real person (or myself) using them I'll ax it. It would take some heft off the project. Maybe just yolo OR cautious and call it day.
CjHuber 6 hours ago
I remember seeing on twitter how Claude 4 Sonnet tried to run rm -r ~ for some reason within cursor. It could have been a meme potentially, but from my experience this doesn’t seem to be to far off as it does weird things for weird reasons sometimes
pmarreck 4 hours ago
It was because it had created a directory named "~" and then tried to remove it, which Bash would of course interpret as the actual home directory
michaelbuckbee 5 hours ago
"Scary" doesn't need to mean Skynet taking over, it could just mean that Claude decides to yolo install a library with malware in it.
mceachen an hour ago
There’s an infinitesimal chance that it’ll p0wn your repo.
There’s a strong chance it will remove your web service auth filter chain to make an integration test pass.
bubblyworld 2 hours ago
Yeah, that's fair, but in this particular case I have instructions to avoid dependencies unless absolutely necessary and that works well. It's not a risk I'm super worried about.
devoutsalsa 2 hours ago
Side question... how much is it costing you to run Claude Code on a regular basis?
bubblyworld 2 hours ago
I'm not a heavy user by any means. I use it for project setup and routine-but-hard-to-automate refactoring, package upgrades, config files, fiddly stuff like that, for which it has been awesome. For me it's ~$30/mo.
callistus 5 minutes ago
kasey_junk 5 hours ago
If you add mcp tooling you can quickly go off local.
I’m less worried about hostile behaviors than stupid ones.
qwertox 6 hours ago
Honest question: What could it do to your machine if it went crazy? I've not used Claude Code yet.
bubblyworld an hour ago
Anything your user has permissions to do, basically. It is absolutely possible to cause serious issues with it in yolo mode, but for me the risk seems acceptably low.
johnisgood 5 hours ago
Anything you can think of, but IIRC it asks you if it can perform a particular command (you can tell it to remember that it can or something like that).
MarceliusK 5 hours ago
Literally anything a terminal command can do to your machine. Delete things, install malware, send your data to the FBI, start a fire by overheating (ok, now I'm just kidding... or not)
serf 15 hours ago
Add a 5 hour timer so that us with MAX subs can know when to come back to our Opus work.
I like it. thanks for the effort.
bizzleDawg 10 hours ago
I was thinking that on this, folks need a cron task to run a trivial prompt at 5-6am and get that 5hr timer running so that it the majority of the quota is available in the working day morning, and then a new 5hr block starts around lunch time. This should maximise use of included tokens by a standard work day spanning 3 blocks rather than 2
diggan 5 hours ago
Also useful for paid APIs like DeepSeek's, where they have cheaper inference price (50%/75% off) for UTC 16:30-00:30, so being able to schedule some stuff you know would take a ton of tokens for that time period would make sense.
1ucky 3 hours ago
It hard resets limits every 5 hours instead of a sliding window?
mceachen 44 minutes ago
caleblloyd 14 hours ago
Thinking of switching from API access to Max 20x tomorrow for a more consistent bill.
Been using $50-100 of Opus tokens through API access per day. Think I’ll hit the Max 20x limits and get put in timeout?
I wish Max could automatically overflow to API access when it times out so I would need to have token anxiety.
Syzygies 14 hours ago
I moved to Max after projecting a $2,000 annual API bill. I haven't yet hit five hour limits, but login/ toggles easily between plans. I believe the interface tells you when you've hit a limit, but as I said I don't know first hand.
SatvikBeri 13 hours ago
According to CCUsage, I hit limits on Opus usage around the equivalent of $150. If we naively extrapolate, that suggests about $600 of Opus usage per session on Max 20x.
collin128 12 hours ago
Can you help me understand how that works?
I thought you needed an API key to work with Claude Code
mikebannister 12 hours ago
They give you Claude Code usage on all the paid plans now. A certain amount of usage is shared between Chat and Code.
agotterer 11 hours ago
airstrike 16 hours ago
I suggest a video on the README and breaking up that entire README into docs because it's too much content, then writing a much shorter README that gives people the answer they want coming into the page
tailspin2019 11 hours ago
As a heavy Claude user, I’ve seen many examples of what it will produce as a README, and they all look exactly like this.
It definitely could use some editing!
mikebannister 11 hours ago
Yeah I tried to keep it chill but it went pretty wild w/ docs. I think I'll just ask it to go on a 50% diet and see what happens! Stay tuned. :)
mikebannister 10 hours ago
Ozempic treatment complete. Should be 50% less annoying.
https://github.com/possibilities/claude-composer/commit/45e1...
mikebannister 10 hours ago
mikebannister 10 hours ago
furyofantares 4 hours ago
I love Claude Code but I am extremely sick of slop readmes. Every time I notice I'm reading LLM output as a readme I feel punched in the gut. I didn't notice it with this project though.
mikebannister 3 hours ago
Just dropped another 300 lines by manually editing. Glad you called out this slop. Thanks!
cmer 11 hours ago
This is pretty epic! This should come standard with Claude Code. Thanks for this! Now going to bed, and will wake up to a brand new feature :)
mikebannister 10 hours ago
<3
stpedgwdgfhgdd 8 hours ago
Don’t get fully the use-cases this tool solves except for some auto-accept.
You would also expect some eat-your-own-dog-food, why does https://github.com/possibilities/claude-composer/blob/main/s... not use CC with a prompt…
(Ps I left x/twitter a long time)
mikebannister 4 hours ago
> auto-accept
That's pretty much it and the concept of "toolsets"
> You would also expect some eat-your-own-dog-food
Maybe, but personally I don't see a reason to use an LLM to release an npm module
config_yml 3 hours ago
Would be lovely if this included some defaults around managing git worktrees for parallel work.
mikebannister 3 hours ago
That's something I'd like to explore more. It's one of the reason I created "trusted roots". So I can open new worktrees and open claude in them all in one step without any confirmation.
If you want to suggest anything specific feel free to open an issue and we explore it more.
BugsJustFindMe 17 hours ago
I read the description of what this is (nb. maybe move that to the top instead of the middle of the page?), and I don't think I understand what problem it solves.
> Reduced interruptions: Automatically handles permission dialogs based on configurable rules
Why? Claude Code already gives you the option to accept requests permanently going forward. The cost of configuring rules is worse than the cost of just telling Claude Code "yes and you don't need to ask again".
I'd like to see a few motivating user stories, tbh.
serf 15 hours ago
>Why? Claude Code already gives you the option to accept requests permanently going forward. The cost of configuring rules is worse than the cost of just telling Claude Code "yes and you don't need to ask again".
want to see this mode fail catastrophically? write enough CLI stuff w/ python w/ powershell or wsl or some other 'leaky' cli. It will eventually fail a command and then try to pipe a shell command through the python interpreter or a specific PS incantation.
This means that you now need to approve 'git' , and 'python sh git' and 'powershell.exe git' and 'wsl.exe ubuntu git' as separate and independent commands. (I dont remember the shell incantation command so excuse the pseudocode).
That means that for the entire gambit of approvals needed for continued permission for a singular task might be 4x greater than normal -- probably more given that claude is aware of so many different ways to pipe to shell..
bckr 14 hours ago
Claude has been adding PYTHONPATH to test commands, and for some reason, the “don’t ask again” doesn’t stick for these types of commands. So I’ve been trying to get it to use make commands, which can modify the environment, and don’t trigger the same permission issues. Just now I finally put it in CLAUDE.md “always use make commands to run tests”. Haven’t seen yet whether it will stick.
mikebannister 14 hours ago
shwouchk 10 hours ago
mikebannister 17 hours ago
> Why?
I have a lot of different projects, scenarios, and edge cases where it's helpful to me.
I think you will find that if you're interactive mode there will always be some dialogs to dismiss, especially if you're jumping around a lot of different projects, etc. So for me the goals are somewhere at the intersection of the interactive mode and unattended operation.
It depends what your goals are for sure. TBH I use it mostly in full yolo mode. But toolsets are much more useful for me. I can create groups of mcps and pre-allowed permissions and reuse that "preset". I have different types of projects that I use different toolsets for each.
But yeah, I hear you. This is pretty niche and might solve problems that only I care about.
mikebannister 17 hours ago
Good chance this will ultimately end up being part of a set of training wheels that I'll take off gradually as I am able to move work over to using non-interactive instances of CC.
gdudeman 15 hours ago
You may be able to do this with a user-based settings file, so you can have a base layer of settings across all projects. More on how to do that here: https://docs.anthropic.com/en/docs/claude-code/settings
sbarre 17 hours ago
I like the notifications part! I may try this just for that one feature..
Thank you.. :-)
mikebannister 17 hours ago
mikebannister 16 hours ago
Also, good call, I wiggled the readme around a bit. Thanks!
rafram 12 hours ago
You’re going to be hearing from Anthropic’s legal department very, very soon if you use this name.
bandrami 12 hours ago
It's going to be hilarious to watch Anthropic argue with a straight face that it's illegal (or at least tortious) to take someone else's IP and repurpose it
ramblerman 11 hours ago
I think this is about trademark not IP
bandrami 10 hours ago
rafram 6 hours ago
“Claude Composer” is just blatant trademark infringement. It sounds like an official Anthropic product.
mikebannister 12 hours ago
We'll see. Happy to change it up if need be. I'd rather beg for forgiveness than permission. <3
bitpush 9 hours ago
The name is a no-go. They are either going to be nice and ask you to do it or send a cease and desist.
I'd recommend you change it right away
closewith 5 hours ago
TBH I think it's misleading, as I assumed it was an Anthropic product until seeing the repo owner. For ethical reasons, I think you should change it.
diggan 5 hours ago
cruijffiaan 12 hours ago
Really like this idea - my team was looking to build something like this ourselves. The only thing I would add to this repository would be the ability to add a global Claude.md file that would be common across the team (across different repos).
mikebannister 11 hours ago
That's a good idea. Personally I don't use CLAUDE.md (everything goes in the prompt, thanks to context-composer, which I'll share another day) so I'm not motivated to have it but I'd be happy to collaborate on it and get that kind of feature merged in.
cruijffiaan 11 hours ago
Yeah let's do it :)
Let me vibe it out with Claude Code!
mikebannister 10 hours ago
throwaway314155 6 hours ago
How are fine grained permissions changed? Is it just modding a known claude configuration file?
mikebannister 4 hours ago
No, the "automatic dismissal" effectively scrapes the terminal and parses out info from the dialog.
whalesalad 17 hours ago
How much of this was produced with claude code?
mikebannister 17 hours ago
All of it, in close collaboration :)
jasonliu0704 13 hours ago
what is possibilities
mikebannister 13 hours ago
just a guy with linux
Philpax 12 hours ago
I'd be careful with the branding - it sounds like an official Claude product. Maybe go with "Composer for Claude"?
zone411 12 hours ago
Yes, the name should be changed ASAP. You don't want to rename it after it becomes established, which you'll inevitably have to do.
polskibus 9 hours ago
Question for those who burn through Max limits- what type of tasks do you do that burn so much of the limit? I’d imagine it has to be a lot of code being produced? Or is it large inputs that burn through it quickly? If you run Claude so often during the day - what is it doing for you all the time?
rootnod3 8 hours ago
I am guessing part of it is the size of the code base it has to read to do any changes or understand the required changes?
polskibus 6 hours ago
Still it means it does really heavy lift. I’d like to understand how to extract bigger efficiency gains from Claude etc , because currently often times I just waste time with it and give up after several attempts