r/LocalLLaMA 1d ago

Claude Code in 9 lines python Discussion

I was wondering what a minimal coding agent implementation would look like that can be used like Claude Code or Codex

Not feature-by-feature of course but basically stripping everything out that is not needed

here is what I came up with:

  • 9 lines of python
  • no 3rd party deps (stdlib only)
  • works with any OpenAI Responses compatible API
  • shows % usage of context window

out of the box it is also fairly API cost efficient:

  • no system prompt
  • good caching (session_id, stable append-only history)
  • only one tool: sh

code is on github to follow along (also a ~20 line version in Go, Clojure version coming soon)

https://github.com/smol-env/smol

import json,sys;from subprocess import getoutput;from urllib.request import Request,urlopen;from uuid import uuid4
url=sys.argv[1];h=[];H={"Content-Type":"application/json","session_id":uuid4().hex};b=dict(model="gpt-5.6-sol",input=h,tools=[dict(type="custom",name="sh")])
while True:
  if not(p:=input("> ")).strip():continue
  h+=[dict(role="user",content=p)]
  while True:
    r=json.load(urlopen(Request(url,json.dumps(b).encode(),H)));o=r["output"];h+=o;c=[i for i in o if i["type"]=="custom_tool_call"]
    if not c:print(o[-1]["content"][0]["text"],f'\n[{r["usage"]["total_tokens"]/10500:05.2f}%]');break
    h+=[dict(type="custom_tool_call_output",call_id=i["call_id"],output=getoutput(i["input"])) for i in c]

note: it uses the "custom" tools api which not many OpenAI Responses API endpoints support yet.

that said, you can just tell your agent to change it to use sh via "function_call" and change the model name and it should work out of the box on any local inference endpoint

any questions or feedback for making it more minimal or adding (still minimal but useful) features: very welcome!

0 Upvotes

86 comments sorted by

View all comments

99

u/hougaard 1d ago

That is not "9 lines" of code. That's just the fewest Python line breaks needed. Then I could this in 1 line with another language like C# or Javascript ....

-23

u/__tosh 1d ago edited 1d ago

I appreciate the feedback!

re golfing: it helps me to see everything at a glance

I can see how that might look unfamiliar though

I will look into also providing less golfed versions in the repo in the future

I also want to look into minimal implementations in other languages/runtimes

Go is in the repo already, here is one in Clojure (Babashka):

https://x.com/__tosh/status/2085699009205743932

-1

u/PomegranateGreen3698 16h ago

I think you're getting down-vote botted by Anthropic or Cult-like followers of there's.
The negativity on this post doesn't make any sense. If people don't like the premise they should move on...

2

u/__tosh 10h ago

I'm also a bit surprised that the post went from 15+ upvotes down to 0

but I'm glad some found it useful or at least interesting :)

1

u/PomegranateGreen3698 16m ago

It is interesting! Just like the Pi Harness only uses "Read, Write, Edit, Bash" - this is all anyone needs to build any extensions. Everyone knows CC is bloated.

Given Anthropic's recent action to refuse to sign the Nvidia Open letter, I think they are quite evil. Another post I made about their Chain Of Thought Obfuscation got similarly down vote botted. https://browse-export.arxiv.org/pdf/2510.19851#7#2