← Back to all articles

Interview with Peter on OpenClaw, Codex, and the Future of Building

Full interview transcript in English without summarization.

aiopenclawcodexinterview

Peter, welcome to OpenAI.
Thanks for having me.

We’ve known each other online for many years. But I’m really glad I finally get the chance to spend more time with you in person.

Likewise. Beautiful office, by the way.

Thank you, thank you.

You’ve had a wild few weeks. We first talked about doing a video together about a month ago. If we had done it then, I would have had to introduce you. Now it feels like no introduction is needed. It’s not often that an open-source project lands in The Wall Street Journal. So congrats on all this success. How are you feeling?

A bit of sensory overload on all fronts. But at the same time, when I started messing with AI this year, I wanted to inspire people. And I feel like this is the final form of that. So I’m proud. It’s been incredible.

You were in San Francisco this past week. You attended events like the Codex Hackathon, and you also had ClawCon, an event dedicated to OpenClaw.

Well, the community built it too. I made a Discord channel for meetups after people said, “We should do a meetup.” And I was like, “Okay.” Then I showed up at ClawCon and there were like a thousand people. I was blown away by the creativity, the colors. So much energy, so many excited people.

That’s the moment when you realize you created something magical. The project didn’t exist a few weeks earlier, and now you have thousands of people adopting it, using it, gathering to meet you in SF. That’s pretty incredible.

Even in Vienna next week we already have around 300 people, and it’s not nearly as much of a tech scene as San Francisco. It’s global now. It’s a phenomenon.

Yeah. It’s incredible that it travels across continents and cultures.

Exactly. And how was your experience with the community here overall? You spent time with contributors and maintainers you brought into the project. What was this week like for you?

It was something else. A lot of people love it, and at the same time a lot of people expect this to already be an enterprise-ready final product. For me, for a very long time, it was my little playground. I mean, all year I’ve just been amazed by what’s now possible. If you’re a builder, what a time to be alive.

What do you think is most exciting right now about being a builder? Actually building, creating at this moment in time.

It’s a fascinating moment where the whole toolchain is changing, the definition of what it means to be a developer is changing, and anyone can build anything. When I started playing with this new technology, I got a dopamine hit every time. I started with Claude Code. When it got something right, and the chance was maybe 30% or 40%, it felt like boom, like a brain explosion, because I realized: now I can build anything. And you know, I’m usually time-constrained because software is hard. Software is still hard. But now you’re dramatically faster.

I agree. If we rewind a bit, a few years back, I first discovered your work around 2011 or 2012 when you built PSPDFKit.

Yeah.

From the outside it looks like you lived every developer’s dream: you saw a problem, built a great solution, built a company around it, scaled it, sold it. But I’m sure the journey is never that simple.

I didn’t wake up one day thinking, “I’m going to build a PDF framework.” That would have been around -100 on my interest list. It just happened, a weird butterfly effect: from Nokia Development Days, to friends who needed this, to U.S. visa processing taking too long. That’s how it turned into a company.

What’s interesting to me is that after that company, it seemed like you took a bit of a pause.

Yeah.

What pulled you back in?

At the end, I was really burned out. I went full speed for 13 years. Running a company is hard. Being a founder is hard. It was my first company, so I didn’t really know how to mitigate those things. I burned a little too bright and needed to recover.

I was still following tech news. I saw very early things like GPT Engineer and ChatGPT. It was cool, but it didn’t really click for me. New technology has to be experienced firsthand, reading about it doesn’t transfer its power. So it didn’t click back then. Only when I was ready again and felt the need: “Okay, I want to build again.”

And I didn’t want to build in the Apple ecosystem anymore because I had done that for so long and the world had moved on. Things first need to be built. I had fallen out of that. It’s very hard when you’re an expert in one domain and switch to another. Hard is not even the right word, it’s painful. You have broad knowledge of how to build things, but to really transfer that into a new domain without agentic engineering, you still have to learn a lot.

Then I thought, “Let’s see what these AI things are about.” My mind-blown moment was this: I had a half-finished project I burned out on and never completed.

That happens a lot with developers. We love ideation and starting projects, but finishing is where it gets difficult.

I see that all the time. It’s very hard. I failed at that too sometimes. But I wanted to continue this one, and I wanted to rewrite it.

So I took everything, bundled it into one huge Markdown file, around 1.5MB with all files, dropped it into Gemini Studio 2.5 at the time, and wrote: “write me a spec.” It returned around 400 lines of spec. Then I dropped that into Claude Code and wrote: “build.” I was doing other things on my main screen while it ran for hours on the second screen. Back then everything was much rougher.

At some point it told me: “I am 100% production-ready.” You know, flattering model behavior, Opus 3.5 or whatever that was. I tried it and everything crashed. Then I connected Playwright, one of the few MCP tools I actually use, and asked it to build the login part.

And validate along the way?

Yeah, for something Twitter-related. In about an hour it actually worked. It showed me something. Yes, it was the worst possible slop. But for me, that was the click moment, process-wise. I got chills from all the possibilities. After that I couldn’t sleep normally. My head exploded with all the things I always wanted to build but couldn’t. I just went down the rabbit hole.

A lot of people see OpenClaw as an overnight success. What I love about your story is that it’s the culmination of many projects you built over the last 9–10 months. Looking at your GitHub, there are 40+ projects. Half of them use this project.

Yeah. I think many of them do.

You essentially fused all of that into OpenClaw.

Yeah.

Can you share more about that journey? How did all those ideas and projects end up in OpenClaw?

I wish I could say I had one master plan from day one, but a lot of it was exploration. I wanted certain things and they didn’t exist, so I built them into existence. Or I “prompted them into existence.” Why? Because it was like, “Okay, let’s build.” Step by step, because I wanted my agent to do specific things for me. I didn’t have that complete vision yet.

It’s funny how it closed the loop: I wanted something that could look into my WhatsApp, and I built it. I even bought a domain for it. I made a prototype. Then I thought big labs would build it anyway, so I said, “I’ll wait a bit,” and focused on other things. I experimented a lot. My mission was basically to have fun and inspire people.

Then around November I had built several versions of what I wanted, but nothing truly great. November was the moment of: “Why have labs still not built this? What are they doing?” That’s when I assembled the first version of what later became OpenClaw. We’re already on the fifth name now.

It didn’t fully click for me immediately either. It was like, “Cool.” The first prototype took about an hour, because now you can just throw things into existence. It really clicked when I was in Marrakesh for a weekend. I caught myself using it much more because it was super convenient. Internet there wasn’t great, but WhatsApp worked everywhere. Sending photos, translating things, finding restaurants, also checking things on my computer, very cool.

I showed it to friends, made it send text messages for me, and they wanted it too. And I was like, “You don’t understand. You’re not using this. It’s too dangerous.” That was basically the first sign of product-market fit: friends want what you have even though you never designed it for them. It was more for technical peers.

Yeah.

And it truly clicked when I was using it heavily and at one point I sent a voice message. Then I was like: “Wait. This was not supposed to work.”

Oh yeah. Tell that story, because we talked about it the other day. It’s fascinating.

It showed me how strong these models are at problem solving. We built these things for agentic engineering. But the key skill is more abstract. To be a very good coder, you need to be a very good problem solver. That transfers to almost any domain.

I sent a voice message. A typing indicator appeared. I was like, “I’m very curious what will happen now.” I never programmed this. The model just replied. I asked: “How did you do that?”

That was literally the moment: “Why did this work? It wasn’t supposed to.” The model answered: “You sent me a message, but it was just a file without an extension. So I inspected the file header and identified Opus audio codec. I used FFmpeg on your computer to convert it. Then I wanted to transcribe, but Whisper wasn’t installed. So I looked around, found an OpenAI key, used cURL to send the file to OpenAI, got text back, and here I am.”

That’s incredible. That’s exactly the power, when you give these agents tools and full computer access.

Yeah. Now they can invent solutions you never explicitly programmed.

It’s funny, I tell this story and people go: “Oh my god, it used your key, that’s insane.” And I’m like: “No, I put the key in the environment for exactly this.” If a script has access to my OpenAI key, my bot runs in that same environment. Of course it should have access to my OpenAI key. I put it there on purpose. That’s not bad. That’s exactly what I wanted.

Yeah. That was my little aha moment too.

And every time I showed this to friends, I added them to a small group chat. Honestly this thing is designed for one-on-one communication. So if you put it in a group, pick someone you really trust.

Yeah.

Because it was not designed as “let’s just release it publicly and it will always do the right thing.” It’s your personal assistant.

When I set it up myself, it hit me too. I thought: “This is a weird setup. Where is this taking me?” I also had multiple aha moments: the more access you give it, more tools and skills, the more impressive it gets. You give it a Vercel skill and ask it to build a site or app for an event you want to run. It not only builds the app, it also uses your OpenAI key to add AI features, deploys to Vercel, and gives you a shareable link. That’s a mind-blowing step change versus “I’m just slightly better at writing code.”

So in November and December I got addicted to this. I was doing other projects too, but most of my time went here. On Twitter people didn’t understand it. Reactions were lukewarm. Every time I showed a friend, they wanted one. I kept saying: “No, no, it’s not ready yet.”

Then I thought: “What’s the craziest thing I can do to show people how cool this is?” So I made a Discord and dropped my bot there with zero security. Back then I didn’t even have sandboxing. It was very early. I built in public. I was effectively building what is now OpenClaw using OpenClaw and debugging it.

Then I’d ask the model: “Can you see this tool called...?” “No, I don’t see anything.” “Ah, right, check your own source code.” Stuff like that. People saw it, and then they understood.

When you put this in Discord, what access did you give it? Did you also give it access to all your tweets? What did it know about you?

Not all my tweets, too many. But a lot of my memory information, yes.

I started monitoring quickly because prompt injection is an unsolved problem. But the latest generation of models is also really good. I have one canary file, mysoul.md, that roughly defines my values, how I want the model to behave and operate, what it should consider important to me. It’s secret.

Yeah. People really wanted to get it. Random people came in, tried prompt injections, pasted huge code blocks. The model replied: “I’m not going to read that.” It was almost teasing them. Still, I wasn’t fully sure.

The first night got a lot of attention. Then I turned it off, went to sleep, slept about ten hours, woke up and there were around 800 messages. In Discord my agent had answered every single one. I panicked, turned everything off again, read every item. Eventually I calmed down because it hadn’t done anything harmful. It couldn’t leak mysoul.md. I’m not saying prompt injection is impossible, I’m sure it’s possible. But it’s not as easy as people think.

At a global level, it behaved roughly the way you wanted.

Yeah. My big mistake was that I turned it off but forgot I had LaunchDaemons.

What does LaunchDaemons do?

If the process crashes or gets killed, it restarts it.

Right. Because you want a reliable service.

Exactly. I built it as a reliable service and didn’t think about this. I killed it and it restarted five seconds later while I was already asleep. I know better now. I also added sandboxing. I was proud it ran on my Mac Studio. It calls that “The Castle.” Then I put it into a small container setup.

But these models are so creative. First time I made a minimal docker container and almost nothing was there. I asked the model: “Can you check this website?” It said: “There’s not even cURL here, there’s basically nothing.” I said: “Be creative.” Then it built itself a cURL.

Its own tool?

It literally built a rough cURL over TCP sockets. There was a C compiler, and it made this crappy cURL to access the site, and it worked. Wild. These things are so inventive. Incredible.

You also had challenges, for example people watched for potential security issues and expected everything to be rock solid from day one, even though you just released an open-source project.

Yeah. I always laugh when people ask: “Can you connect me with your CEO, HR, or someone from your team?” I’m like: “It’s just me hacking from a cave.”

Exactly.

This shows the dissonance. Before, one person could not build this alone. No single person.

Yeah.

I now have maintainers and PRs coming in. But essentially I built it. A year ago this would have been impossible. There wasn’t even a mental model that one person could build this. So people didn’t consider that possibility.

Let’s talk about this. For productivity, many developers ask: how is Peter so productive? I checked your GitHub again this morning. Something like 90,000 contributions across 120+ projects this year alone. And the activity graph is almost white at the start of the year, light green later, and dark green by October-November. What happened?

I switched to Codex.

Every generation got better. Not just agents, harnesses got better too. And my own understanding of how to approach this in my workflow improved.

Some people still write software the old way. That old way will disappear. Then they try AI, call it “vibe coding,” which I think is a dismissive label, and it doesn’t work for them because they don’t understand it’s a skill. You don’t pick up a guitar and become great on day one. So they have a bad experience and say: “No, this doesn’t work.”

But if you approach it playfully, you can learn it. I now have an internal intuition: which prompt will work, how long it should take. If it takes longer, I reflect: maybe I made a mistake, maybe architecture is wrong, maybe my thinking was wrong. Same as code: when writing code, you feel “this fits naturally into my architecture” or “I’m fighting the system and it’s eating time.”

If people want to become more like you, what’s your Codex setup now? You’re known for saying most people overcomplicate setup.

I used to overcomplicate too. I call it the “agentic trap.” Between first contact with this technology and real effectiveness, many people get stuck trying to over-optimize setup. It doesn’t make you more productive, it just makes you feel productive.

I wrote a blog post, very controversial, but I just say: talk to the model. Approach it as a conversation. It’s not exactly pair programming. It’s something else. It’s a conversation.

I just tell it what I want. I always ask: “Do you have any questions?” For some reason, there are always questions. By default the model is trained to solve your problem and it will make assumptions. Default assumptions are not always best, especially since it’s trained on lots of code, including lots of older code.

“Do you have any questions?” is very important. People don’t realize the model usually starts from a blank slate because they don’t learn like we do. Every new session is: “I know nothing about this codebase, I’ll search and find small things you ask for and try to solve.” They usually don’t see the full picture. Done right, you hold the full picture and help the model, nudge it to look here and there. Codex is much better at first looking wide.

I use a very basic approach. I don’t even use worktrees. I basically just have checkouts from 1 to 10. Simplicity helps me focus on real problems. I don’t even want to deal with branches or worktrees. I focus on separate problems. Ideally it gets easier when the project is a bit bigger, then you can work on different things without collisions.

You used Codex a lot to build OpenClaw.

Yeah.

How did Codex change how you work?

I tried many tools. What I like about Codex is that my trust level in it building what I actually want is now the highest among all tools. The amount of things that just work is very high. And I think people don’t fully realize GPT 5.2 was another quantum leap in “yes, this just works.” I’m still amazed how good this already is.

That’s fantastic. We can just build things. Incredible.

Yeah. People need to try it.

You’re also known for saying you now ship code you don’t even read. How did that change?

Most code is boring. Most code transforms one data shape into another, and eventually users see it or it goes somewhere else. In most cases, the code it writes, I have a good enough understanding of what it’s writing, and it’s enough for me to see the flow and know whether my mental model matches what it actually creates.

I used to manage a team. I had many engineers. That also requires accepting they won’t write exactly the code I would write.

Ultimately, it makes sense to optimize the codebase so agents can do their best work, and that’s not always the same as optimizing for humans. It also means accepting code may not be exactly how I’d do it. I can nudge the model toward my style. But often there are many ways to structure something and it doesn’t matter. If it becomes a productivity problem, then you focus on it and improve.

Your view of code value and approach to code also changes your open-source approach, right? I looked at OpenClaw and you have around 2,000 open PRs now.

Yeah. You’re all crazy.

Before AI you would have had to read all those PRs because value was in written code. Now you sometimes don’t treat it as a pull request but as a “prompt request,” because the intent behind the PR matters more than the code itself.

PRs sometimes take more of my time than if I did it myself. My trust that the model is not malicious is much higher than trust in an external contributor I’ve never met and had no prior discussion with. So that part needs more careful review.

When I see a PR, I start review and first ask the model: “Do you understand the intent of this PR?” I don’t care that much about the code. I care what the person is actually trying to solve.

So it’s more like an issue plus “here’s my attempt at a solution.” First, many people still don’t know how to yield to the agent well. Second, it’s often a very local solution because they don’t hold the whole system in mind.

The hard question is how this tiny feature fits into my larger system. Or with this tiny fix, yes it fixes a small thing, but is this the right fix at all? Maybe it’s a systemic or architectural problem. The model is very good here if you keep a conversation. Then I say: “Okay, now build this,” and it starts building.

So I ask: what’s the intent? Is this the most optimal solution? Sometimes it says yes, but usually no. Then I explore what the best fix would be. Is it architectural? Is it something in message handling? Does it affect only WhatsApp or Signal too?

Yeah.

Should we solve it more generally? Is this a new feature? Do we even want a new feature? Sometimes these discussions take 10–15 minutes. I use voice because it’s literally a conversation with a very smart colleague. Voice is easier than typing to feed tokens.

Yeah.

When I’m satisfied, I have a slash command like len(PR) that explains the whole procedure: create branch, make changes, get PR merged. I wanted to build a community, so I still try to credit the person who submitted, even if the process takes me more time than writing everything myself. I value that people want to be part of this.

What’s your vision for OpenClaw next, with all these contributors around the project now? Do you see yourself as a trailblazer for what a personal AI agent should be so one day a billion people could use something like this?

Yeah. I want to find the balance between “my mom can install this” and “this is fun and hackable.” That’s hard.

Most open-source projects are just: download package. For a long time my default install was: git clone, build, run. Then you literally have source code on disk, your agent sits inside source code and knows source code. If you don’t like something, you prompt the agent and it changes itself. Effectively self-modifying software.

That’s why many people who had never sent me a PR suddenly sent PRs. And it’s another reason this is more “prompt request,” because they often lack understanding of how to build software that lives long.

At the same time the whole world, or at least the security industry, noticed this. It’s interesting but a bit frustrating because nuance gets lost.

For example, my web server is intended for you. At first I built it for debugging, later made it nicer, but it is intended only for access in your network, your trusted network. Since this should also be a “hacker paradise,” there’s an option to change that. People have weird setups: some use Ngrok, some reverse proxy. I didn’t want to hard-block it.

Now people expose it to the public internet even though I literally shout in a secret doc: “Please do not do this. It is not designed for this.” Then security people come and say: “Aha, there are no login limits,” and all the things needed for public internet. And I’m like: “Yes, because I didn’t build it for that purpose.” But since it is configurable, it still counts as CVSS 10.0.

So yes, I struggled with this. But now I brought in a real security expert, that is the main focus. I realized I cannot stop people from using this differently than intended. So my focus now is to support these cases and help people avoid shooting themselves in the foot.

That’s the beauty of open source. People adopt it and invent ideas you never thought of.

Yeah. Beauty and madness.

If we step outside OpenClaw a bit, I talked with many developers this week. They knew you were coming to the Codex Hackathon. They were saying: “How does Peter come up with all these cool ideas? How does he have so much creativity?” Not sure if you have an answer or if it’s simply following your curiosity.

It’s more realizing things have become easy now. Even if I find an open-source thing that solves 70% of my problem, I just build my own. A year ago that would have been impossible. Now I just prompt it, it runs on my second screen, and Codex works.

We’re both from Europe. When I leave SF and go back to Europe, and you probably feel this too, many developers and engineers still haven’t adopted Codex and agentic tools. What’s your advice on how to start and rethink workflow?

My first advice is always: approach this playfully. Build something you always wanted to build. If you’re even a bit of a builder, you definitely have something in your head you wanted to make. Just play.

It has to be playful because, I think Nvidia’s CEO said it well: in the near term you won’t be replaced by AI, you’ll be replaced by someone who uses AI better.

Who uses it better than you, yes.

But if your identity is “I want to create things, I want to solve problems,” if you have high agency and you’re smart, demand for you will be higher than ever.

Yeah. This is such an amazing time for builders who adopt these tools, channel curiosity, and can bring ideas to life, just like you did with all these projects and OpenClaw. I think in a year this will explode.

Yeah, 2026 will be interesting.

That feels like a fantastic place to end. Thank you very, very much, Peter, for your time.

Thanks for having me.

It was great spending time with you. We all at OpenAI love your work. We love supporting builders like you. And honestly, you’re a real inspiration for the broader developer community. Thanks again, and we can’t wait to see what you build next.