Skip to content
Topics

Dev Environment & Infrastructure for AI Projects

Docker, AWS, VPS, and more — understand the infrastructure AI tools recommend and set up your dev environment.

50 articles

Sort articles to find what you need

Articles in Dev Environment & Infra

How to Use Claude on Vertex AI: Pricing, Claude Code Setup, Quotas, and Google-Managed vs. Anthropic-Managed

How to Use Claude on Vertex AI: Pricing, Claude Code Setup, Quotas, and Google-Managed vs. Anthropic-Managed

There are two ways to use Claude while staying on your Google Cloud bill: the Google-managed version, which Google runs as part of Agent Platform (formerly Vertex AI), and the Anthropic-managed version, which became generally available on October 22, 2026. Claude Code runs on the Google-managed version, configured with CLAUDE_CODE_USE_VERTEX and related settings (pinning the models is recommended if you roll it out to multiple people). If you need the Files API, Agent Skills, Managed Agents, fast mode and similar features, choose the Anthropic-managed version. On the Google-managed global endpoint, Opus 5.5, Sonnet 5.5 and Haiku 5.5 cost the same as the Claude API, while the us and eu multi-regions cost 1.1x. The Anthropic-managed version is metered in CCU, and no per-token price list appears in the official docs. Based on the official documentation (checked October 26, 2026), this article covers the differences and how to choose, pricing, regions, getting started, the SDKs, Claude Code setup, and how to handle quotas and 429 errors.

"temperature is deprecated for this model": Causes and Fixes — Claude API temperature and the New API Version 2026-10-21

"temperature is deprecated for this model": Causes and Fixes — Claude API temperature and the New API Version 2026-10-21

If the Claude API returns '`temperature` is deprecated for this model.', the cause is sending non-default values for temperature, top_p, or top_k to a Claude 4.7 or later model, and removing all three from the request fixes it. Claude 4.7 and later models already reject non-default values under API version 2023-06-01, and under the new API version 2026-10-21 they return a 400 error for any model, even with default values; newer SDKs such as Python anthropic 2.0.0 send 2026-10-21 automatically and no longer include the three arguments in their types, so code that still passes them will fail with an argument error or a 400 after an SDK upgrade. This article explains the two situations where the error appears, how to get consistent answers without these settings, how to find them in code, SDK versions, related changes such as how the API key is sent, and the fix for the similar 'anthropic-version: header is required' error, based on Anthropic's official documentation (checked October 26, 2026).

Why Codex Is Slow or Heavy and How to Fix It: App, CLI, and WSL

Why Codex Is Slow or Heavy and How to Fix It: App, CLI, and WSL

This guide covers the causes of Codex feeling slow or heavy and how to fix them, organized by symptom, based mainly on OpenAI's official documentation and replies from GitHub maintainers as of October 25, 2026. For slow replies, check outages and congestion, lower reasoning effort to fit the task, use a lighter model or Fast mode (Fast uses 2.5 times the usage quota), and start a new thread for each task, as recommended by OpenAI staff. For slow startup, stop unused MCP servers with enabled = false and update the CLI, while a heavy or frozen app calls for an update and restart (one Windows bug was fixed in v26.825.32147) and archiving scheduled tasks you no longer need, since they pile up worktrees; on WSL, keep files on the Linux side to speed up commands.

Setting Up Claude Code Cloud Sessions Securely: A Setup That Protects Production, and 5 Places I Got Stuck

Setting Up Claude Code Cloud Sessions Securely: A Setup That Protects Production, and 5 Places I Got Stuck

You can hand development to Claude Code cloud sessions without opening a new way into production: keep the code in a private GitHub repository, install the Claude GitHub App on that repository only, and have the production server just pull it with a read-only deploy key. This article is my record of starting to use cloud sessions on a separate development project on October 4, 2026, checked against the original text of the official docs as of that date. It explains that claude --cloud without GitHub sends the history of every branch plus uncommitted changes to tracked files (on Windows, regardless of file names), how to fix it when a different GitHub account is connected, "Only select repositories" and why public repositories appear in the list, why you should create a fresh environment per project since anyone who uses an environment can read its environment variables, that local files are invisible, and that Accept edits in the cloud stops at every command while Auto keeps going, all wrapped up in a pre-start checklist. It also shares a real case where a single instruction run autonomously used $226 of limited-time credit before I told it to stop midway, why credit drains so fast, and ways to cut costs.

How to Opt Out of Claude Code Training: Where the Setting Lives, How Each Plan Is Treated, and Whether Anthropic Trains on API Data

How to Opt Out of Claude Code Training: Where the Setting Lives, How Each Plan Is Treated, and Whether Anthropic Trains on API Data

Whether your Claude Code conversations are used to train AI models depends on your plan and your account setting. On the Free, Pro, and Max consumer plans, your data is used for training only while the model-improvement setting in claude.ai's privacy settings is on (kept for 5 years), and turning it off stops training (kept for 30 days). The setting belongs to your account, so there's no need to change settings files on the computer running Claude Code. Based on the original text of the Claude Code docs page "Data usage," Anthropic's Privacy Center, and the Claude Platform page "API and data retention" as of October 4, 2026, this article covers where the setting is and how to turn it off, the fact that opting out doesn't remove your data from past training, how 👍👎 ratings, /feedback, and conversations flagged as policy violations are handled, and training and retention by plan, including Team, Enterprise, the API, and Bedrock. It also explains that API inputs and outputs aren't used for training by default and are deleted within 30 days, what ZDR covers and why Covered Models such as Fable require 30 days of retention, the environment variables that stop usage metrics and error reports sent separately from training, the conversation transcripts stored in plaintext on your own computer, and how to choose a setup for confidential work.

Claude Code /doctor prompt-audit: How to Audit CLAUDE.md and Skills for Stale Instructions, and What It Found in Ours

Claude Code /doctor prompt-audit: How to Audit CLAUDE.md and Skills for Stale Instructions, and What It Found in Ours

Claude Code's /doctor prompt-audit (/checkup prompt-audit is the same) has Claude read CLAUDE.md, CLAUDE.local.md, AGENTS.md, and the rules, skills, commands, and subagents under .claude/, look for prompting written for older models, references to files or commands that don't exist, and instructions that contradict each other, and return a report with proposed diffs. Nothing changes until you ask, and it requires v2.1.283 or later. Based on the official docs and CHANGELOG as of October 3, 2026 and the audit guide bundled with Claude Code, this article covers how to run it and narrow it with a path, what it counts as stale (over-strong wording, missing paths, conflicts between files, and more), its rule against deleting context and prohibitions that exist for a reason, the six fields of the report and how to read confidence levels, and how it differs from /doctor, /claude-api prompt-audit, and the terminal claude doctor command. It also shares what happened when we ran it on this site's instruction files (7 of 9 findings applied, including a real drift where we forgot to rewrite an explanation after adding a rule) and caveats such as usage allowance, run-to-run variation, and the effort of checking findings before applying them.

What Is Claude Code /code-review? How to Use It, Choosing a Level, ultra Pricing, Downsides, and Results From Actually Using It

What Is Claude Code /code-review? How to Use It, Choosing a Level, ultra Pricing, Downsides, and Results From Actually Using It

Claude Code's /code-review is a bundled skill that reads your commits ahead of upstream plus uncommitted changes (or a PR, branch, or path you pass), hunts for correctness bugs, and reports them. /review is an alias, the review runs as a background subagent, and its cost counts toward your normal usage. This article covers how to pass a target, how to choose between low (only high-confidence findings) and medium to max (wider coverage, but you need to sort the results), the rule that leaving out the level reuses the last level you typed, the caveat that --fix edits made in the background can't be undone with /rewind, and where --comment posts on GitHub and GitLab. It also explains ultra, where multiple agents in the cloud return only verified findings (about 15 to 25 minutes; 3 one-time free runs on Pro and Max, then typically $5 to $25 per run in usage credits), and how /code-review differs from /simplify, /security-review, the GitHub App's Code Review, and claude-code-action, based on the original text of the official documentation and CHANGELOG as of October 2, 2026 (the level descriptions as of October 14). Finally, it shares the results of running /code-review high once on the code for this site's AI image checker tool (9 of 10 findings were real bugs, all fixed) and the downsides, including usage, the work of checking findings, and how to undo --fix.

I Tried Claude Code Projects: Strengths and Pitfalls of Parallel Threads, Learned by Having It Build an Entire Website

I Tried Claude Code Projects: Strengths and Pitfalls of Parallel Threads, Learned by Having It Build an Entire Website

I had Claude Code Projects (public beta) build an entire website for looking up how much memory local LLMs need. From creation to the last merge took about 20 hours: 10 threads, 11 PRs, about 23,000 lines, and about 190 million tokens (97.7% of them cache reads). Three tasks ran in parallel overnight, the threads coordinated with each other through the coordinator, and once I switched to instructions that handed things over, it decided the next tasks by itself. On the other hand, nobody built the logic that decides "can this be published?" at the boundary between the data collection and page threads, so production showed zero models. Real data also exposed bugs that sample-data tests never showed, and deploying to a server reachable only over SSH hit a wall. I record it all from measurements: where I tripped getting started, the difference between approving every step and handing it over, how the setup credit ran down, and what kinds of work it suits and does not suit.