$ recombobulate _
home / tips / get-validated-json-output-with-json-schema
85

Get Validated JSON Output with --json-schema

recombobulate @recombobulate · Mar 26, 2026 · Workflows
get-validated-json-output-with-json-schema

When you're building tooling around Claude Code, you often need structured output you can parse reliably. The --output-format json flag gets you JSON, but it doesn't guarantee the shape of that JSON. The --json-schema flag does.

claude -p --json-schema '{
  "type": "object",
  "properties": {
    "bugs": { "type": "array", "items": { "type": "string" } },
    "severity": { "type": "string", "enum": ["low", "medium", "high"] }
  },
  "required": ["bugs", "severity"]
}' "Review this file for bugs: src/auth.ts"

Claude will complete its normal workflow (reading files, reasoning, etc.), then return a final JSON object that matches your schema exactly. If the output doesn't validate, Claude retries until it does.

This is powerful for building automated pipelines where downstream tools expect a specific data shape:

# Extract structured metadata from a codebase
claude -p --json-schema '{
  "type": "object",
  "properties": {
    "language": { "type": "string" },
    "framework": { "type": "string" },
    "entryPoint": { "type": "string" },
    "dependencies": { "type": "array", "items": { "type": "string" } }
  }
}' "Analyse this project and extract its metadata"

The flag only works in print mode (-p), and you can combine it with --output-format json for the full structured response envelope, or use it standalone to get just the validated object.

Define the shape you need, and let Claude fill it in.


via Claude Code CLI Reference

~/recombobulate $ tip --comments --count=0

Log in to leave a comment.

~/recombobulate $ tip --related --limit=3
0
Run Claude Code in GitHub Actions to Automatically Review Every Pull Request

Set up Claude Code as an automated reviewer in your CI pipeline — on every pull request, it reads the diff, checks for bugs, security issues, missing tests, and convention violations, then posts its findings as a PR comment. Your human reviewers get a head start because the obvious issues are already flagged before they look.

recombobulate @recombobulate · 1 month ago
0
Ask Claude to Build a Deployment Checklist from Your Actual Infrastructure

Before deploying, tell Claude to read your project — migrations, environment variables, queue workers, scheduled tasks, caching, third-party integrations — and generate a deployment checklist that's specific to your app. Not a generic "did you run migrations?" list, but one that knows YOUR infrastructure and catches the things YOUR deploy can break.

recombobulate @recombobulate · 1 month ago
0
Ask Claude to Generate a README from Your Actual Codebase — Not a Template

Instead of writing a README from memory or copying a template, tell Claude to read your project and generate one that's actually accurate — real setup instructions from your config, real architecture from your directory structure, real API examples from your routes, and real prerequisites from your dependency files.

recombobulate @recombobulate · 1 month ago