Show HN: Claude Composer

(github.com)

145 points | by mikebannister 19 hours ago ago

84 comments

  • bubblyworld 8 hours ago 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

    • mikebannister 6 hours ago 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 3 hours ago 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 5 hours ago 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.

    • Jeff_Brown 4 hours ago 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 3 hours ago ago

        Not a bad idea, thanks.

        • zackify 2 hours ago ago

          I use their official dev container config and limit access to a small list of domains too

    • CjHuber 7 hours ago 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 5 hours ago 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 7 hours ago 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 2 hours ago 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 3 hours ago 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.

    • kasey_junk 7 hours ago ago

      If you add mcp tooling you can quickly go off local.

      I’m less worried about hostile behaviors than stupid ones.

    • devoutsalsa 4 hours ago ago

      Side question... how much is it costing you to run Claude Code on a regular basis?

    • qwertox 7 hours ago ago

      Honest question: What could it do to your machine if it went crazy? I've not used Claude Code yet.

      • bubblyworld 3 hours ago 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 7 hours ago 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 7 hours ago 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 16 hours ago 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 12 hours ago 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 6 hours ago 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 5 hours ago ago

        It hard resets limits every 5 hours instead of a sliding window?

        • mceachen 2 hours ago ago

          That’s what their usage warning prompts seem to indicate.

    • caleblloyd 15 hours ago 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 15 hours ago 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 15 hours ago 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 14 hours ago ago

      Can you help me understand how that works?

      I thought you needed an API key to work with Claude Code

      • mikebannister 13 hours ago 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 13 hours ago ago

          Not all paid plans, just Max. Pro doesn’t get access to Claude Code.

          • jfim 13 hours ago ago

            This changed recently (like a day ago or so), pro has access to Claude code now. They mention it's for "light coding work" on the pro plan: https://support.anthropic.com/en/articles/11145838-using-cla...

            • saratogacx 23 minutes ago ago

              Also Sonnet only, no Opus. That being said it lets you use the included stuff and easily switch to metered if you need to use a different model or you burn through your included allotment.

  • airstrike 17 hours ago 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 13 hours ago 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 12 hours ago 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 12 hours ago ago

        Ozempic treatment complete. Should be 50% less annoying.

        https://github.com/possibilities/claude-composer/commit/45e1...

      • furyofantares 6 hours ago 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 4 hours ago ago

        Just dropped another 300 lines by manually editing. Glad you called out this slop. Thanks!

  • cmer 12 hours ago 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 :)

  • stpedgwdgfhgdd 10 hours ago 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 5 hours ago 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 5 hours ago ago

    Would be lovely if this included some defaults around managing git worktrees for parallel work.

    • mikebannister 5 hours ago 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 18 hours ago 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 16 hours ago 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 16 hours ago 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 15 hours ago ago

          I hate to be pessimistic but this is something that CC doesn't seem good at: forgetting the tools that it loves and using the ones you want it to. You might want to try "disallowing" that command(?) explicitly (in addition to adding to CLAUDE.md and/or prompt).

          I'm not sure what command is being called to set PYTHONPATH. If my assumption that it relates to a specific command is incorrect the above probably isn't helpful.

          Good luck!

        • shwouchk 11 hours ago ago

          haven’t used claude code directly, but at least through copilot ive seen it read my makefile, extract the command, and run it directly after modifications. telling it to use make helped, but wasn’t perfect

    • mikebannister 18 hours ago 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 18 hours ago 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 16 hours ago 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 18 hours ago ago

        I like the notifications part! I may try this just for that one feature..

        Thank you.. :-)

        • mikebannister 18 hours ago ago

          If you like the idea but they aren't working the way you'd like let me know. They aren't very "well baked" but I'll dump some time into improving at some point. If you have pain points or feedback I'll be happy to consider it.

          BTW, I also intend to add some way to send push notifications of some sort. I need to be reminded when Claude is done hustling and and it's time to leave the comfort of my iced coffee on the patio for a keyboard and glowing terminal screen.

    • mikebannister 18 hours ago ago

      Also, good call, I wiggled the readme around a bit. Thanks!

  • rafram 13 hours ago ago

    You’re going to be hearing from Anthropic’s legal department very, very soon if you use this name.

    • bandrami 13 hours ago 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 13 hours ago ago

        I think this is about trademark not IP

        • bandrami 11 hours ago ago

          Trademark is a type of intellectual property protection

          • SEMW 7 hours ago ago

            GP clearly meant "trademark not copyright".

            It's perfectly coherent to be in favour of strong protection of trademarks but also weaker copyright laws. They have very different purposes (broadly, consumer protection as a mark of origin vs incentivising creativity). Just because they're both in the legal category of "IP" doesn't mean it's hypocritical to have very different positions on both.

      • rafram 7 hours ago ago

        “Claude Composer” is just blatant trademark infringement. It sounds like an official Anthropic product.

    • mikebannister 13 hours ago ago

      We'll see. Happy to change it up if need be. I'd rather beg for forgiveness than permission. <3

      • bitpush 11 hours ago 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 7 hours ago 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 6 hours ago ago

          Yeah I mean ignoring the legal risks, naming something "$Company-name $Tool" is begging to have it confused with an official product from $Company-name. Even if you don't care about the legal risks, at least care about your users not being confused about who made the thing.

  • cruijffiaan 13 hours ago 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 13 hours ago 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.

  • throwaway314155 7 hours ago ago

    How are fine grained permissions changed? Is it just modding a known claude configuration file?

    • mikebannister 5 hours ago ago

      No, the "automatic dismissal" effectively scrapes the terminal and parses out info from the dialog.

  • whalesalad 18 hours ago ago

    How much of this was produced with claude code?

    • mikebannister 18 hours ago ago

      All of it, in close collaboration :)

  • jasonliu0704 14 hours ago ago

    what is possibilities

  • Philpax 14 hours ago ago

    I'd be careful with the branding - it sounds like an official Claude product. Maybe go with "Composer for Claude"?

    • zone411 14 hours ago 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 10 hours ago 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 9 hours ago 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 8 hours ago 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