[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f42fqrpqfy24t":3,"$fanuq43nlrv5g":58},{"slug":4,"title":5,"body":6,"summary":7,"tags":8,"author":14,"cover_url":15,"published_at":16,"seo_title":17,"seo_description":18,"reading_minutes":19,"related":20},"claude-code-effort-levels","Effort levels in Claude Code: when max effort pays off and when it just burns tokens","\u003Cp>Claude Code's effort setting changes how much compute the model puts into a task. Anthropic just published a deep dive on it, \u003Ca href=\"https:\u002F\u002Fclaude.dev\u002Fblog\u002Fspending-your-effort\u002F\">\"Using Claude Code: Spending your effort\"\u003C\u002Fa> by Thariq Shihipar. It covers Terminal-Bench 3.0 runs plus three hand-built apps at different levels. The short version: \u003Cstrong>extra effort mostly buys verification and edge-case testing, not smarter code\u003C\u002Fstrong>. Below is a rule of thumb for each task type, the commands to switch levels, and a script to measure the trade-off on your own repo.\u003C\u002Fp>\n\u003Cfigure data-post-media=\"6abdd223595e0a740c5d2467\">\u003Cvideo src=\"https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abdd224595e0a740c5d246d-0-a8b41782.mp4\" autoplay muted loop playsinline preload=\"metadata\">\u003C\u002Fvideo>\u003C\u002Ffigure>\n\n\u003Ch2>What \"effort\" actually is\u003C\u002Fh2>\n\u003Cp>The post calls effort an approximation of how much compute you want Claude to spend on a task. Its analogy is a deadline: you'd work differently with 12 hours than with 1. In practice, higher effort means Claude takes more independent action for judgement and verification.\u003C\u002Fp>\n\u003Cfigure data-post-media=\"6abd88f0c951ea7137fa380a\">\u003Cimg src=\"https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abd88f0c951ea7137fa380f-0-c77ae459.png\" alt=\"Effort levels act like a deadline, changing how the model allocates its compute time.\" loading=\"lazy\">\u003Cfigcaption>Effort levels act like a deadline, changing how the model allocates its compute time.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\n\u003Cp>The \u003Ca href=\"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fmodel-config\">model configuration docs\u003C\u002Fa> list five levels: \u003Ccode>low\u003C\u002Fcode>, \u003Ccode>medium\u003C\u002Fcode>, \u003Ccode>high\u003C\u002Fcode>, \u003Ccode>xhigh\u003C\u002Fcode> and \u003Ccode>max\u003C\u002Fcode>. Older models such as Opus 4.6 and Sonnet 4.6 have no \u003Ccode>xhigh\u003C\u002Fcode>. If you pick a level the model doesn't support, Claude Code falls back to the highest supported level below it. Defaults vary by model:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Opus 5.5 and Sonnet 5.5:\u003C\u002Fstrong> \u003Ccode>medium\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Opus 4.7:\u003C\u002Fstrong> \u003Ccode>xhigh\u003C\u002Fcode>\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Every other model that supports effort:\u003C\u002Fstrong> \u003Ccode>high\u003C\u002Fcode>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The docs also say the scale is calibrated per model, so \u003Ccode>high\u003C\u002Fcode> on one model isn't the same amount of work as \u003Ccode>high\u003C\u002Fcode> on another.\u003C\u002Fp>\n\n\u003Ch2>What the data says\u003C\u002Fh2>\n\u003Ch3>Scores and tokens both go up\u003C\u002Fh3>\n\u003Cp>On Terminal-Bench 3.0 (70 tasks, with the 4 GPU tasks excluded), every step up in effort raised both the benchmark score and the tokens used, for Opus 5.5 and Fable 5.1 alike. The cost side is large. The post reports Fable 5.1 using a median of \u003Cstrong>73k tokens per attempt at low\u003C\u002Fstrong> and \u003Cstrong>222k at max\u003C\u002Fstrong>, about 3x.\u003C\u002Fp>\n\n\u003Ch3>Effort fixes missed edge cases, not wrong approaches\u003C\u002Fh3>\n\u003Cp>Anthropic went through 370 Fable 5.1 attempts:\u003C\u002Fp>\n\u003Cfigure data-post-media=\"6abd88f0c951ea7137fa3814\">\u003Cimg src=\"https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abd88f0c951ea7137fa3819-0-f4e56eb0.png\" alt=\"Higher effort levels often focus on the intricate &#39;gears&#39; of edge-case verification.\" loading=\"lazy\">\u003Cfigcaption>Higher effort levels often focus on the intricate &#39;gears&#39; of edge-case verification.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\n\u003Cul>\n\u003Cli>\u003Cstrong>Low effort:\u003C\u002Fstrong> 140 passed, 59 failed on missed edge cases\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Max effort:\u003C\u002Fstrong> 214 passed, 24 failed on missed edge cases\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The post is clear about the limit. More effort cuts failures from missed edge cases, but it does not fix runs where the model took the wrong approach. If Claude misunderstands the problem, max effort just does the wrong thing more thoroughly.\u003C\u002Fp>\n\n\u003Ch3>Gains depend a lot on the domain\u003C\u002Fh3>\n\u003Cp>Pass rates from low effort to top effort, by category:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Security: 64% → 87%\u003C\u002Fli>\n\u003Cli>Hardware: 34% → 75%\u003C\u002Fli>\n\u003Cli>ML: 54% → 73%\u003C\u002Fli>\n\u003Cli>Science: 41% → 61%\u003C\u002Fli>\n\u003Cli>Software: 43% → 56%\u003C\u002Fli>\n\u003Cli>Media: 18% → 30%\u003C\u002Fli>\n\u003Cli>Operations: 12% → 22%\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Operations moved the least. The chart labels this \"rulebook-style work stays low\": when a task depends on knowing the right procedure, more thinking doesn't help much.\u003C\u002Fp>\n\n\u003Ch3>What the extra tokens were spent on\u003C\u002Fh3>\n\u003Cp>The case studies show where the extra effort went:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>\u003Ccode>html-js-filter\u003C\u002Fcode> (security):\u003C\u002Fstrong> Fable 5.1 went from 1\u002F5 at low to 5\u002F5 at xhigh. The high-effort run reviewed its own draft adversarially, read the parser's source, wrote XSS test suites and built a random-document fuzzer.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>mvcc-lsm-compaction\u003C\u002Fcode> (storage bug):\u003C\u002Fstrong> at low effort Claude edited the code without building or testing it. At xhigh it reproduced the crash, wrote randomized tests and verified the fix.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>cli-2ph-simplex\u003C\u002Fcode> (LP solver):\u003C\u002Fstrong> low effort was a single-pass implementation with little testing. High effort checked results against a separate solver, found performance problems and reworked the algorithm.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>\u003Ccode>gsea-proteomics\u003C\u002Fcode>:\u003C\u002Fstrong> low effort used one data-prep method. High effort tried two and checked that the results changed the way they should.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>In all four, the extra effort went into testing and checking the work, not into writing more clever code.\u003C\u002Fp>\n\n\u003Ch3>The three builds: wall-clock time\u003C\u002Fh3>\n\u003Cul>\n\u003Cli>\u003Cstrong>Underspecified fitness app:\u003C\u002Fstrong> 1.5 min (low), 4 min (medium), 11 min (high), 67 min (max). Low produced a basic log with a graph. Max produced a much bigger app with heat charts and more features.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Config-menu redesign:\u003C\u002Fstrong> 1 min (low) vs 28 min (max). Low produced an interactive sketch. Max produced a polished mockup with flow walkthroughs.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Highly specified implementation:\u003C\u002Fstrong> 16 \u002F 22 \u002F 33 \u002F 79 min (low \u002F medium \u002F high \u002F max). With a detailed spec, the post says the levels \"behaved much more similarly.\"\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The takeaway: a vague prompt at max effort gets you Claude's own interpretation of the task, built out in full. A clear spec narrows the gap between levels, so paying for max buys less.\u003C\u002Fp>\n\u003Cfigure data-post-media=\"6abd88f0c951ea7137fa381e\">\u003Cimg src=\"https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abd88f0c951ea7137fa3823-0-41de2f90.png\" alt=\"The gap between effort levels narrows when a task has a highly detailed specification.\" loading=\"lazy\">\u003Cfigcaption>The gap between effort levels narrows when a task has a highly detailed specification.\u003C\u002Ffigcaption>\u003C\u002Ffigure>\n\u003Cp>Put the three builds next to the benchmark and the pattern is the same. Past the level where the task is actually solved, extra minutes go into scope and verification. On a vague prompt that means features you didn't ask for; on a clear spec, more checking of work that was mostly right already. So the question per task is not \"how hard is this?\" but \"how much of the outcome depends on edge cases that only testing finds?\" That is what the rules below sort by.\u003C\u002Fp>\n\n\u003Ch2>Rule of thumb by task type\u003C\u002Fh2>\n\u003Cp>This follows the blog's recommendations and the \"Choose an effort level\" table in the docs:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Brainstorming, first sketches, renames, small edits → \u003Ccode>low\u003C\u002Fcode>.\u003C\u002Fstrong> You review every result anyway, and a starting point that arrives sooner is worth more than polish.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Day-to-day feature work with a clear scope → \u003Ccode>medium\u003C\u002Fcode>.\u003C\u002Fstrong> This is the default on Opus 5.5. The docs say Anthropic's testing found Opus 5.5 at medium matches or beats Opus 5 at high on coding evals, so don't copy your old Opus 5 setting over.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Bug fixes in existing code, anything with hidden edge cases → \u003Ccode>high\u003C\u002Fcode>.\u003C\u002Fstrong> This is where the reproduce-test-verify behaviour pays for itself.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Security review, parsers, sanitizers, numerical or hardware-adjacent code → \u003Ccode>xhigh\u003C\u002Fcode> or \u003Ccode>max\u003C\u002Fcode>.\u003C\u002Fstrong> These categories gained the most in the benchmark.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Long autonomous runs on hard problems you won't supervise → \u003Ccode>max\u003C\u002Fcode>.\u003C\u002Fstrong> The docs warn that max \"may show diminishing returns and is prone to overthinking,\" so test it before using it everywhere.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Procedure-heavy ops work → don't expect much from higher effort.\u003C\u002Fstrong> Better context (runbooks, CLAUDE.md) is likely a better investment. That's our reading of the ops numbers, not a claim the post makes.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>The post also suggests a workflow for features that splits effort across phases:\u003C\u002Fp>\n\u003Col>\n\u003Cli>Ask Claude to interview you about missing details.\u003C\u002Fli>\n\u003Cli>Implement at low effort.\u003C\u002Fli>\n\u003Cli>Review and iterate at low effort.\u003C\u002Fli>\n\u003Cli>Verify and test at high effort.\u003C\u002Fli>\n\u003C\u002Fol>\n\n\u003Ch2>How to set effort\u003C\u002Fh2>\n\u003Cp>All of these come from the \u003Ca href=\"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fmodel-config\">model config docs\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fcli-reference\">CLI reference\u003C\u002Fa>:\u003C\u002Fp>\n\u003Cpre>\u003Ccode># Inside a session: open the slider, or set a level directly\n\u002Feffort\n\u002Feffort high\n\u002Feffort auto        # clear the saved level for the active model\n\n# One session only, at launch (does not persist)\nclaude --effort xhigh\n\n# Environment variable (also the only way to make max stick)\nexport CLAUDE_CODE_EFFORT_LEVEL=high\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Some details worth knowing:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>Typing a level after \u003Ccode>\u002Feffort\u003C\u002Fcode>, or pressing Enter in the slider, saves it as your default for that model. Pressing \u003Ccode>s\u003C\u002Fcode> in the slider applies it to the current session only.\u003C\u002Fli>\n\u003Cli>\u003Ccode>max\u003C\u002Fcode> is session-only unless you set it with \u003Ccode>CLAUDE_CODE_EFFORT_LEVEL\u003C\u002Fcode>. The \u003Ccode>effortLevel\u003C\u002Fcode> setting accepts \u003Ccode>low\u003C\u002Fcode> through \u003Ccode>xhigh\u003C\u002Fcode>, not \u003Ccode>max\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>You can set \u003Ccode>effort\u003C\u002Fcode> in skill or subagent frontmatter, so a security-review subagent can run at xhigh while your main session stays at medium.\u003C\u002Fli>\n\u003Cli>Putting \u003Ccode>ultrathink\u003C\u002Fcode> in a prompt asks for deeper reasoning on that turn only, without changing your session level.\u003C\u002Fli>\n\u003Cli>Resolution order: explicit choice (env var, \u003Ccode>--effort\u003C\u002Fcode>, \u003Ccode>\u002Feffort\u003C\u002Fcode>), then your settings, then the model default.\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Ch2>Measure it on your own repo\u003C\u002Fh2>\n\u003Cp>Benchmarks average over tasks that aren't yours, so the useful number is cost against pass rate on your own code. The script below runs the same prompt once per level, each in a throwaway git worktree. It records cost, duration, turns and output tokens from the \u003Ccode>--output-format json\u003C\u002Fcode> result, then runs your test command to see whether the change actually works.\u003C\u002Fp>\n\u003Cblockquote>\u003Cp>\u003Cstrong>Warning:\u003C\u002Fstrong> this script runs Claude unattended with \u003Ccode>--permission-mode acceptEdits\u003C\u002Fcode> and the \u003Ccode>Bash\u003C\u002Fcode> tool allowed, so it can edit files and run any shell command in the worktree without asking. Run it only on a repo you trust, ideally in a container or VM, and narrow \u003Ccode>--allowedTools\u003C\u002Fcode> to your test command (for example \u003Ccode>\"Bash(npm test *)\"\u003C\u002Fcode>) before pointing it at anything important. \u003Ccode>--max-budget-usd\u003C\u002Fcode> caps the spend per run.\u003C\u002Fp>\u003C\u002Fblockquote>\n\u003Cpre>\u003Ccode>#!\u002Fusr\u002Fbin\u002Fenv bash\n# effort-bench.sh - run one task at each effort level and compare.\n# Usage: .\u002Feffort-bench.sh \"Fix the flaky date parsing in src\u002Fdates.ts\" \"npm ci &amp;&amp; npm test\"\n# Requires: git, jq, claude. Run from the repo root with a clean HEAD.\nset -uo pipefail\n\nPROMPT=\"${1:?usage: $0 \\\"task prompt\\\" \\\"test command\\\"}\"\nTEST_CMD=\"${2:?usage: $0 \\\"task prompt\\\" \\\"test command\\\"}\"\nLEVELS=\"${LEVELS:-low medium high xhigh max}\"\nBUDGET=\"${BUDGET:-10}\"          # USD cap per run\nOUT=\"$PWD\u002Feffort-results.jsonl\"\nLOGDIR=\"$PWD\u002Feffort-logs\"       # stderr of each run, for debugging\nmkdir -p \"$LOGDIR\"\n: &gt; \"$OUT\"\n\nfor level in $LEVELS; do\n  wt=\"$(mktemp -d)\u002Feffort-$level\"\n  git worktree add --detach \"$wt\" HEAD &gt;\u002Fdev\u002Fnull 2&gt;&amp;1\n\n  # With --output-format json, stdout carries only the final result object\n  # (failures inside the run included); warnings go to stderr, kept in a log.\n  json=$(cd \"$wt\" &amp;&amp; claude -p \"$PROMPT\" \\\n    --effort \"$level\" \\\n    --output-format json \\\n    --permission-mode acceptEdits \\\n    --allowedTools \"Read,Edit,Write,Bash\" \\\n    --max-budget-usd \"$BUDGET\" \\\n    --no-session-persistence 2&gt;\"$LOGDIR\u002F$level.log\")\n  [ -n \"$json\" ] || json='{\"subtype\":\"no_result\"}'   # bad flag or crash: see the log\n\n  if (cd \"$wt\" &amp;&amp; bash -c \"$TEST_CMD\" &gt;\u002Fdev\u002Fnull 2&gt;&amp;1); then pass=true; else pass=false; fi\n\n  echo \"$json\" | jq -c --arg level \"$level\" --argjson pass \"$pass\" '{\n    level: $level,\n    tests_pass: $pass,\n    cost_usd: .total_cost_usd,\n    minutes: (((.duration_ms \u002F\u002F 0) \u002F 60000) * 10 | round \u002F 10),\n    turns: .num_turns,\n    output_tokens: .usage.output_tokens,\n    subtype: .subtype\n  }' | tee -a \"$OUT\"\n\n  git worktree remove --force \"$wt\"\ndone\n\necho\njq -s -r '.[] | \"\\(.level)\\tpass=\\(.tests_pass)\\t$\\(.cost_usd)\\t\\(.minutes)m\\tturns=\\(.turns)\"' \"$OUT\"\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>Notes before you run it:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ccode>--allowedTools \"Bash\"\u003C\u002Fcode> lets Claude run any shell command in the worktree without asking. Only use it on a repo you trust, or narrow it with rule syntax such as \u003Ccode>\"Bash(npm test *)\"\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>\u003Ccode>total_cost_usd\u003C\u002Fcode> is a client-side estimate, not your bill. The docs say to use the Console or the Usage and Cost API for real billing numbers.\u003C\u002Fli>\n\u003Cli>\u003Ccode>usage\u003C\u002Fcode> leaves out subagent tokens. For whole-tree accounting, read \u003Ccode>modelUsage\u003C\u002Fcode>.\u003C\u002Fli>\n\u003Cli>Each worktree is a fresh checkout without \u003Ccode>node_modules\u003C\u002Fcode>, virtualenvs or build output, so make the test command install what it needs (as in \u003Ccode>\"npm ci &amp;&amp; npm test\"\u003C\u002Fcode>), or every level will fail for the same boring reason.\u003C\u002Fli>\n\u003Cli>If a row shows \u003Ccode>subtype\u003C\u002Fcode> other than \u003Ccode>success\u003C\u002Fcode> (for example \u003Ccode>error_max_budget_usd\u003C\u002Fcode> or \u003Ccode>no_result\u003C\u002Fcode>), check \u003Ccode>effort-logs\u002F&lt;level&gt;.log\u003C\u002Fcode> before you compare numbers.\u003C\u002Fli>\n\u003Cli>One run per level is noisy. Run each level three times and pick tasks you already know the answer to: a bug you fixed last month, or a feature with an existing test suite.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>What to look for: the lowest level where tests pass consistently. If \u003Ccode>high\u003C\u002Fcode> passes and \u003Ccode>max\u003C\u002Fcode> only adds minutes and dollars, make \u003Ccode>high\u003C\u002Fcode> your default for that kind of task.\u003C\u002Fp>\n\n\u003Ch2>Sources\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fclaude.dev\u002Fblog\u002Fspending-your-effort\u002F\">Using Claude Code: Spending your effort (claude.dev blog, Thariq Shihipar, 2026-09-25)\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fmodel-config\">Claude Code docs: Model configuration, adjust effort level\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fcli-reference\">Claude Code docs: CLI reference\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fheadless\">Claude Code docs: Run Claude Code programmatically\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fagent-sdk\u002Fcost-tracking\">Claude Code docs: Track cost and usage\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fagent-sdk\u002Ftypescript\">Claude Code docs: Agent SDK TypeScript reference (result message fields)\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>","Anthropic's effort deep dive (Terminal-Bench 3.0 plus three builds) shows higher effort mostly buys verification and edge-case testing, not smarter code. A rule of thumb per task type, the commands to set effort, and a script to measure cost vs pass rate on your own repo.",[9,10,11,12,13],"claude-code","ai-coding","llm","developer-tools","ai-assisted","if.codes","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abd88edc951ea7137fa3804-0-2716005a.png","2026-10-01T22:32:14.139Z","Claude Code Effort Levels: When Max Effort Pays Off","What extra effort buys in Claude Code (verification, edge cases), which level to use per task type, how to set \u002Feffort, and a script to measure it on your repo.",9,[21,34,46],{"slug":22,"title":23,"type":24,"summary":25,"tags":26,"author":14,"cover_url":31,"published_at":32,"updated_at":33},"palantir-agent-stack-python","Steal Palantir's agent stack: typed tools, one LLM gateway, swappable models","blog","An X thread boils Palantir's AIP docs down to four agent patterns. We check each one against the docs, then build them in one stdlib-only Python file: typed business-object tools, a gateway that masks PII, caches and retries, a model set in config, and schedule\u002Fevent\u002FAPI triggers.",[27,11,28,29,30,13],"ai-agents","python","architecture","palantir","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abd88f9c951ea7137fa3872-0-48eb7eee.png","2026-10-01T23:05:10.531Z","2026-10-01T23:05:10.532Z",{"slug":35,"title":36,"type":24,"summary":37,"tags":38,"author":14,"cover_url":43,"published_at":44,"updated_at":45},"agentic-inbox-cloudflare-setup","Self-host an AI email agent on Cloudflare Workers: agentic-inbox set up and costed","Cloudflare's open-source agentic-inbox runs a full email client on Workers, with one SQLite Durable Object per mailbox and a Kimi K2.5 agent that drafts replies. Covers the post-deploy steps people miss (Access, sending, routing, mailbox first) and the cost.",[39,40,27,41,42,13],"cloudflare","workers","email","self-hosting","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abd88dac951ea7137fa378b-0-5b0ec96d.png","2026-10-01T08:17:18.646Z","2026-10-01T08:44:42.528Z",{"slug":47,"title":48,"type":24,"summary":49,"tags":50,"author":14,"cover_url":55,"published_at":56,"updated_at":57},"audit-ai-agent-public-traces","Nearly a million leaked links: auditing what your AI agents leave on the public web","OpenAI's agent swarm left almost a million public shortener URLs holding credentials. Here's a tested shell + gitleaks audit to find the shortlinks, pastes and webhooks your own agents created, scan them for secrets and close the channels.",[51,52,53,54,11,13],"security","agents","secrets","gitleaks","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abaad873e21d5cbd14d4397-0-0f4f51f7.png","2026-10-01T07:43:19.642Z","2026-10-01T08:44:43.041Z",[59,62,65,68,70,81,91,104,116,125,136,147,156,167],{"slug":22,"title":23,"type":24,"summary":25,"tags":60,"author":14,"cover_url":31,"published_at":32,"updated_at":33,"reading_minutes":61},[27,11,28,29,30,13],10,{"slug":4,"title":5,"type":24,"summary":7,"tags":63,"author":14,"cover_url":15,"published_at":16,"updated_at":64,"reading_minutes":19},[9,10,11,12,13],"2026-10-01T22:32:14.14Z",{"slug":35,"title":36,"type":24,"summary":37,"tags":66,"author":14,"cover_url":43,"published_at":44,"updated_at":45,"reading_minutes":67},[39,40,27,41,42,13],8,{"slug":47,"title":48,"type":24,"summary":49,"tags":69,"author":14,"cover_url":55,"published_at":56,"updated_at":57,"reading_minutes":67},[51,52,53,54,11,13],{"slug":71,"title":72,"type":24,"summary":73,"tags":74,"author":14,"cover_url":78,"published_at":79,"updated_at":80,"reading_minutes":67},"mikrotrick-check-patch-mikrotik","MikroTrick: check and patch your MikroTik in 15 minutes","Two chained RouterOS bugs give anyone who can reach SSH full admin, no password needed, and attacks started before the patch. Find exposed SSH, check the version, grep for the published IoCs, patch and move management behind WireGuard.",[51,75,76,77,42,13],"mikrotik","routeros","ssh","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abcd9c0838b650cb96b3d10-0-6cd107e0.png","2026-10-01T07:02:15.03Z","2026-10-01T08:44:41.391Z",{"slug":82,"title":83,"type":24,"summary":84,"tags":85,"author":14,"cover_url":88,"published_at":89,"updated_at":90,"reading_minutes":67},"agent-sandbox-dns-egress-lockdown","Your agent sandbox leaks through DNS: lock down egress in 15 minutes","An OpenAI model escaped its sandbox by tunnelling questions through DNS. Here is a tested Docker Compose setup for coding agents: a DNS allowlist, a logging egress proxy and a kill switch that actually fires.",[51,86,52,87,42,13],"docker","dns","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abaaca13e21d5cbd14d4306-0-cb93fe1b.png","2026-10-01T03:00:15.943Z","2026-10-01T08:44:43.165Z",{"slug":92,"title":93,"type":24,"summary":94,"tags":95,"author":14,"cover_url":100,"published_at":101,"updated_at":102,"reading_minutes":103},"who-blocks-ai-crawlers-robots-txt","Who blocks AI crawlers? robots.txt vs the network edge, with numbers","I scanned robots.txt on the top 300 sites: 33 of 138 block GPTBot, 14 block training but allow AI search. What each AI bot directive controls, why robots.txt is only a request, and a copy-paste policy plus nginx rule for small SaaS sites.",[96,97,98,39,99,13],"ai","robots-txt","seo","saas","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abcd9c1838b650cb96b3d1b-0-11f94198.png","2026-09-30T21:00:20.673Z","2026-10-01T20:47:34.092Z",7,{"slug":105,"title":106,"type":24,"summary":107,"tags":108,"author":14,"cover_url":112,"published_at":113,"updated_at":114,"reading_minutes":115},"bullet-time-with-first-last-frame-video","Bullet time with first\u002Flast-frame video: orbiting a frozen moment from three stills","A freeze-frame camera orbit built from generated stills: one action shot, two camera-move angles, two first\u002Flast-frame clips between them, stitched and ping-ponged. The pipeline, the seams, and where the model re-imagines the water.",[96,109,110,111],"comfyui","video-generation","flowdsl","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abae46c45201648bfd477a7-0-6f4d036e.png","2026-09-28T22:42:41Z","2026-09-28T22:42:41.6Z",4,{"slug":117,"title":118,"type":24,"summary":119,"tags":120,"author":14,"cover_url":122,"published_at":123,"updated_at":124,"reading_minutes":103},"an-ai-media-pipeline-that-shows-its-work","An AI media pipeline that shows its work: ComfyUI presets, FlowDSL routing and the misses","How the images on my sites are generated: four ComfyUI presets behind one Go module, job rows as state, FlowDSL flows for routing, per-post media in the admin — and the bugs and model misses I hit shipping it. This post's own images were made the same way.",[96,111,109,121],"image-generation","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6aba8ba317ceba3543925be4-0-2f6b8a5c.png","2026-09-28T15:57:50Z","2026-10-01T20:47:34.327Z",{"slug":126,"title":127,"type":24,"summary":128,"tags":129,"author":14,"cover_url":132,"published_at":133,"updated_at":134,"reading_minutes":135},"openai-embeddings-python-mongodb","Transforming Text into Vectors: OpenAI Embeddings in Python","Learn how to generate text embeddings with the OpenAI API in Python to power semantic search, recommendations, and more. Includes practical examples with MongoDB integration and cost analysis.",[130,96,28,131],"openai","mongodb","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abad0fa45201648bfd46c2d-0-2e60b732.png","2024-11-23T00:00:00Z","2026-09-28T22:31:01.385Z",3,{"slug":137,"title":138,"type":24,"summary":139,"tags":140,"author":14,"cover_url":143,"published_at":144,"updated_at":145,"reading_minutes":146},"check-pricing-availability-ing-domains","Last Chance to Grab Short .ING Domains: The Extended List Part II","Welcome back to the second part of our exciting exploration into the .ING domain zone! This time, I've expanded our horizons to bring you an even larger selection of .ING domain names. List of over 24,000 domain names inside.",[141,142],"domains","business","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abad0fa45201648bfd46c38-0-c55f4c8d.png","2023-12-14T00:00:00Z","2026-09-28T22:31:01.453Z",1,{"slug":148,"title":149,"type":24,"summary":150,"tags":151,"author":14,"cover_url":152,"published_at":153,"updated_at":154,"reading_minutes":155},"impressive-ing-domains","Unveiling the Impressive .ING Domains","Discover the vast potential of the new .ING domain zone in my latest blog post! I've used AI and a Python script to unearth a treasure trove of available domain names. From budget-friendly picks to exclusive premium domains, there's something for every ambition. Plus, a special list of unique, lesser-known domains awaits.",[141,142],"https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abad0fa45201648bfd46c43-0-03be24b7.png","2023-12-11T00:00:00Z","2026-09-28T22:31:01.527Z",2,{"slug":157,"title":158,"type":24,"summary":159,"tags":160,"author":14,"cover_url":164,"published_at":165,"updated_at":166,"reading_minutes":135},"secured-web-server-in-5-minutes","Fortify Web Server Security in 5 Minutes with Tailscale","Tailscale revolutionizes secure networking with its user-friendly approach, effortlessly connecting devices across diverse networks.",[161,162,163],"firewall","tailscale","webserver","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abad0fa45201648bfd46c4e-0-eae6f62d.png","2023-11-03T00:00:00Z","2026-09-28T22:31:01.597Z",{"slug":168,"title":169,"type":24,"summary":170,"tags":171,"author":14,"cover_url":174,"published_at":175,"updated_at":176,"reading_minutes":177},"lets-encrypt-free-ssl","How to Secure Your Website with Free SSL Certificates for a Lifetime","Let’s Encrypt certificates have revolutionized internet security by providing free, automated, and widely trusted SSL\u002FTLS certificates. The non-profit Certificate Authority (CA) has significantly contributed to a more secure web environment by simplifying the process of securing websites with HTTPS.",[172,173,163],"ssl","https","https:\u002F\u002Fmedia.stufio.com\u002Fmedia\u002Fifcodes\u002Fmediagen\u002F6a\u002F6abad0fa45201648bfd46c59-0-bf2a9a0a.png","2023-11-01T00:00:00Z","2026-09-28T22:39:13.555Z",6]