Vibe Code Camp Distilled

Thariq Shihipar - Building Claude Code at Anthropic

Thariq Shihipar - Building Claude Code at Anthropic

Key Insights

Summary

Thariq Shihipar is a key member of the Claude Code team at Anthropic, where he bridges engineering, content, and customer feedback. A former YC founder who ran a video game company for five years, he joined Anthropic about a year ago driven by what he calls “AI psychosis” - the conviction that Claude Code represented the future of software development. His most notable engineering contribution is the “ask user question” tool that enables Claude to interactively elicit requirements, particularly in plan mode.

In this conversation, Thariq reveals the internal philosophy driving Claude Code’s rapid iteration: a relentless focus on “unhobbling” the model by removing unnecessary scaffolding as capabilities improve. He explains how the team operates as a true “startup within a startup,” with engineers taking on traditionally separate roles like support and QA, enabled by Claude handling more of the actual coding. The discussion covers upcoming features (replacing todos with tasks), the delicate balance between terminal and GUI interfaces, and why believing in continuous model improvement is essential to building AI products that don’t become obsolete with each release.

Main Topics

The Role: Content, Customers, and Engineering

Thariq’s role defies traditional categorization. He describes it as doing “a lot of essentially like content talking to customers and engineering is like a part of that” (00:01:39). For a developer tool that changes as rapidly as Claude Code, this integration is necessary - you need to “deeply know how it works at every level” to communicate effectively.

The feedback loop between customers and the product team is central to Claude Code’s culture. Rather than having dedicated support or QA teams, “the engineers are the support team, the engineers read the GitHub tickets” (00:04:04). This isn’t just about efficiency - it’s a philosophical stance that everyone shipping code should directly experience how users react to it.

Key quote: “I think it used to be that there would be like dedicated people who are like hey this is the feedback from users like coming down from the mountain and being like hey now implement it right and I think instead it’s like everyone’s roles are sort of like morphing kind of so that every engineer is in some way responsible for understanding if you ship something you need to know like what people think of it” (00:04:18)

The “Ask User Question” Tool: Unhobbling Through Better Elicitation

Thariq’s biggest engineering contribution is the “ask user question” tool, which he describes as an example of “unhobbling the model” (00:02:50). The concept is that models have inherent capabilities and knowledge that we’re not accessing properly. Rather than constraining Claude to work with incomplete information, the tool gives it the ability to ask for what it needs.

He explains: “The models have a lot of inherent capabilities they have a lot of like knowledge that like maybe we’re not pulling out properly right and at Anthropic we call it like unhobbling the model very often where it’s like you have like you’re asking it to do something but you could ask it to do something else or give it like more space in the box” (00:02:50).

This tool is particularly powerful in plan mode and for writing specs. The pattern extends beyond this single feature - it’s a philosophy of constantly asking “what can we remove to give Claude more agency?”

The Delete-and-Rebuild Cycle

One of the most striking insights from Thariq is about the AI product development cycle: “The AI capabilities are like here but with some engineering work you can make it like go up to here and then the next model comes out and it’s here and you have to like delete the code” (00:14:41).

The problem is that “most people get stuck at deleting the code…they’re like oh like no like I don’t want to you know like I don’t believe the model is this good yet” (00:14:49).

He gives a concrete example: Claude Code is currently replacing the todo system with tasks that support dependencies, multi-agent workflows, and persistence across sessions (00:15:10). This isn’t just feature addition - it’s rethinking what’s needed as models get more capable.

Key insight: “If Claude is writing 10 times as much code you can also delete 10 times as much code” (00:20:59). The Jevons Paradox applies to software development - as it gets easier to write code, the quality bar rises, and you need to be more aggressive about removing what doesn’t meet that bar.

The Spec Writing Workflow

With Opus 4.5, Thariq discovered a powerful new workflow: having Claude interview him to write specifications. “I had tried that with Sonnet 4.5 and it just wasn’t as good and then Opus 4.5 I was like oh like it was incredible” (00:16:04).

This workflow requires significant upfront investment - “I would now like am writing like specs for like 30 minutes you know and then like then that Claude Code is working” (00:25:14) - but it reduces ambiguity enough that Claude can execute longer-running tasks successfully. The key insight: longer-running AI workflows require more human work upfront, not less.

Startup Culture Within Anthropic

When asked why Claude Code captured the zeitgeist, Thariq points to the team structure: “Everyone talks about startup within a startup…but Claude Code is like truly that” (00:08:32).

Boris, who leads the team, “is like an incredible true founder within Anthropic…he really gets the ability to run with that and like make it like an incredible product and he recruits other people who are like ex-founders, high agency” (00:08:53).

This structure enables the team to “clearly clearly care about this product in a way that that’s the moat…like like Boris is like an incredible true founder” (00:08:49). The combination of a world-class research org (creating models like Opus) and an autonomous product org is what makes Claude Code “inevitable” in Thariq’s view.

AI-Native Feedback Systems

While Claude Code uses some automation for feedback (GitHub bots that scrape issues), Thariq is cautious about over-automating: “There’s also this like level of like feel kind of just like you know like what is the the feel of what people are saying and if you get too abstracted from it like even if Claude is doing too much work for you I think like that can also be like hard to like understand what’s like the meta pattern right” (00:05:32).

The challenge with feedback is pattern recognition: “When you see an issue it’s like is this like a standalone issue is this like does this pattern match against other things that you’ve seen and is this like a higher root cause” (00:05:56).

Key philosophy: “There’s no replacement for talking directly to a user” (00:06:45). While a PM or Claude could talk to users, “there’s definitely like something about like hearing directly that motivates you to do it and helps you like figure out the like the common pattern.”

Thinking in Composable Building Blocks

Claude Code’s development philosophy emphasizes composability. When analyzing feedback, the question is: “What is the composable building block that can unify a few of these different requests right” (00:07:14).

This applies to features like Skills, which Thariq sees as “the composability layer that we kind of need especially in like bringing your own version of something” (00:13:18). The goal is finding primitives that enable many use cases rather than building point solutions.

Terminal vs GUI: The Interface Question

Asked whether the terminal has “legs” or if we’re moving back to GUIs, Thariq acknowledges uncertainty: “No idea…let’s race to the top and find out” (00:23:26).

He notes that Claude Code is exploring “a bunch of different UI things with Claude Code Remote and Claude Code on the web and Claude Code desktop and obviously Co-work” (00:23:37).

What he does emphasize: “There is something about like the keyboard first interface of terminal and like just like the simplicity and like the responsiveness of it that is like a high watermark to beat” (00:23:48). The terminal sets a quality bar that any GUI needs to exceed.

The Race to the Top Philosophy

“Race to the top” is an internal Anthropic concept that Thariq mentions repeatedly. The idea is to “make sure that we’re like sort of setting the standard of what is like an amazing product amazing developer experience” (00:09:45).

This creates a dynamic where “anyone can look at a single point you have and be like oh like at that point I’m going to copy that point but they can’t copy the vector right like they can’t copy like the directions that you’re going in” (00:21:43).

The hidden advantage: “There’s also a lot of learnings and what was thrown out” (00:21:48). Competitors can copy the current implementation of something like the ask user question tool, but “what they don’t what I threw out that they didn’t you know what I mean” (00:21:59) - that context is the real moat.

Long-Running Tasks and Economic Viability

When asked about running Claude on Mac minis for long-running autonomous tasks, Thariq pushes back on the hype: “I feel like maybe people will be disappointed at how much like you know we’re not doing that” (00:24:25).

His framing of the real question: “Is it producing economically viable output you know I mean like are you creating something that is truly useful um how much in the loop do you need to be you know and like how much ambiguity do you need to reduce” (00:25:03).

The spec mode workflow helps reduce ambiguity enough for longer runs, but requires significant human input upfront. This is the current frontier - not fully autonomous agents, but human-AI collaboration patterns that expand the scope of what can be accomplished.

Actionable Details

Tools and Features Mentioned

Upcoming Features (Preview)

Workflows Described

Spec Writing with Opus 4.5: 1. Ask Opus to interview you about the feature 2. Spend ~30 minutes letting it elicit requirements 3. Use the resulting spec to enable longer-running Claude Code sessions 4. The upfront investment reduces ambiguity for downstream execution

Vibe Coding Experiments: - Thariq runs experimental modifications to his own Claude Code instance - “90% of the time it doesn’t make it better and it’s kind of like worse” (00:19:00) - First filter is your own judgment before sharing with the team

Feedback Loop: 1. Engineers directly read GitHub issues 2. Internal Anthropic users provide feedback (“ant fooding”) 3. Pattern matching across issues to identify root causes 4. Maintain direct contact with users rather than over-abstracting through automation

Contact Information

Quotes Worth Saving

“The models have a lot of inherent capabilities they have a lot of like knowledge that like maybe we’re not pulling out properly right and at Anthropic we call it like unhobbling the model very often where it’s like like you have like you’re asking it to do something but you could ask it to do something else or give it like more space in the box kind of like put more things that it can do into it and I think that is like a forever you know like problem that’s kind of the goal of the Claude Code team you know so like unhobble Claude as much as we can matching its capability so that it can like you know do the work it needs for you” (00:02:50)

“There’s no replacement for talking directly to a user you know I mean like you could hire a PM and the PM’s job is talk to a user and like Claude could do that job for you too like it could be like oh like Claude’s job is to talk to the user now but like there’s definitely like something about like hearing directly that motivates you to do it and helps you like figure out the like the common pattern” (00:06:45)

“If Claude is writing 10 times as much code you can also delete 10 times as much code you know…the big thing here is Jevon’s paradox kind of right like you can write more and more software everyone can write more and more software right and so you need to like the bar of quality is very very high right like you have to really deliver like just an excellent excellent product and yeah like if not like someone will vibe code like a clone of your product like right away” (00:20:59)

“Anyone can look at a single point you have and be like oh like at that point I’m going to copy that point but they can’t copy the vector right like they can’t copy like the directions that you’re going in right and then there’s also a lot of learnings and what was thrown out” (00:21:43)

“The AI capabilities are like here but with some engineering work you can make it like go up to here and then the next model comes out and it’s here and you have to like delete the code you know like you have to delete the code and then you have to restart again and most people get stuck at deleting the code you know I mean and they’re like oh like no like I don’t want to you know like I don’t believe the model is this good yet or not right” (00:14:41)