[{"data":1,"prerenderedAt":1035},["ShallowReactive",2],{"tool-gemini-cli-en":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":23,"sources":36,"cover":120,"og":121,"expertise":122,"locales":123,"lang":124,"title":127,"description":128,"coverAlt":129,"url":130,"pricing":131,"kind":132,"metaTitle":133,"takeaways":134,"faq":140,"toc":153,"blocks":181,"others":589},"gemini-cli","2026-10-07",9,"agents",[9,10,11,12,13],"Terminal agent","Gemini","MCP","Sandboxing","Data protection",[15,16,17,18,19,20,21,22],"gemini cli","gemini cli free tier","gemini cli pricing","gemini cli data privacy","gemini cli vs claude code","antigravity cli","gemini cli github action","gemini cli sandbox",[24,27,30,33],{"name":25,"url":26},"Gemini CLI","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli",{"name":28,"url":29},"Vertex AI","https:\u002F\u002Fcloud.google.com\u002Fvertex-ai",{"name":31,"url":32},"Apache License","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_License",{"name":34,"url":35},"Model Context Protocol","https:\u002F\u002Fmodelcontextprotocol.io",[37,40,43,46,48,51,54,57,60,63,66,69,72,75,78,81,84,87,90,93,96,99,102,105,108,111,114,117],{"title":38,"url":39},"Google Developers Blog: transitioning Gemini CLI to Antigravity CLI","https:\u002F\u002Fdevelopers.googleblog.com\u002Fen\u002Fan-important-update-transitioning-gemini-cli-to-antigravity-cli\u002F",{"title":41,"url":42},"Gemini CLI: quotas and pricing","https:\u002F\u002Fgeminicli.com\u002Fdocs\u002Fresources\u002Fquota-and-pricing\u002F",{"title":44,"url":45},"Gemini CLI: licence, terms of service and privacy notices","https:\u002F\u002Fgeminicli.com\u002Fdocs\u002Fresources\u002Ftos-privacy",{"title":47,"url":26},"GitHub: google-gemini\u002Fgemini-cli, the repository and README",{"title":49,"url":50},"Gemini CLI changelog: v0.63.0 released 6 October 2026","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Fchangelogs\u002Flatest.md",{"title":52,"url":53},"Gemini CLI reference: flags and approval modes","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Fcli\u002Fcli-reference.md",{"title":55,"url":56},"Gemini CLI configuration: settings.json and approval defaults","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Freference\u002Fconfiguration.md",{"title":58,"url":59},"Gemini CLI sandboxing","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Fcli\u002Fsandbox.md",{"title":61,"url":62},"Gemini CLI: context files (GEMINI.md)","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Fcli\u002Fgemini-md.md",{"title":64,"url":65},"Gemini CLI: MCP servers","https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli\u002Fblob\u002Fmain\u002Fdocs\u002Ftools\u002Fmcp-server.md",{"title":67,"url":68},"Gemini API Additional Terms of Service","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fterms",{"title":70,"url":71},"Gemini Developer API pricing","https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fpricing",{"title":73,"url":74},"Gemini Code Assist FAQs","https:\u002F\u002Fdocs.cloud.google.com\u002Fgemini\u002Fdocs\u002Fcodeassist\u002Ffaqs",{"title":76,"url":77},"Vertex AI data governance and zero data retention","https:\u002F\u002Fdocs.cloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Fdata-governance",{"title":79,"url":80},"Vertex AI data residency","https:\u002F\u002Fdocs.cloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Flearn\u002Fdata-residency",{"title":82,"url":83},"Vertex AI locations and endpoints","https:\u002F\u002Fdocs.cloud.google.com\u002Fvertex-ai\u002Fgenerative-ai\u002Fdocs\u002Flearn\u002Flocations",{"title":85,"url":86},"run-gemini-cli: the GitHub Action for Gemini CLI","https:\u002F\u002Fgithub.com\u002Fgoogle-github-actions\u002Frun-gemini-cli",{"title":88,"url":89},"Antigravity CLI migration guide","https:\u002F\u002Fantigravity.google\u002Fdocs\u002Fcli\u002Fgcli-migration",{"title":91,"url":92},"Claude pricing","https:\u002F\u002Fclaude.com\u002Fpricing",{"title":94,"url":95},"Claude Code: data usage","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fdata-usage",{"title":97,"url":98},"Claude Code: setup and plan requirements","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fsetup",{"title":100,"url":101},"Claude Code: permission modes","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fpermission-modes",{"title":103,"url":104},"Claude Code: sandboxing","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fsandboxing",{"title":106,"url":107},"Claude Code licence (LICENSE.md)","https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code\u002Fblob\u002Fmain\u002FLICENSE.md",{"title":109,"url":110},"OpenAI Codex pricing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fpricing",{"title":112,"url":113},"OpenAI Codex CLI repository","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex",{"title":115,"url":116},"Codex: agent approvals and security","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fagent-approvals-security",{"title":118,"url":119},"Codex: sandboxing","https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fconcepts\u002Fsandboxing","\u002Fimages\u002Fblog\u002Fgemini-cli\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fgemini-cli\u002Fog.jpg","ai-engineer",[124,125,126],"en","de","hu","Gemini CLI review: open source, but no longer free for individuals","Gemini CLI stays Apache-2.0 and gets releases, but the free individual route closed on 18 June 2026. What remains: Code Assist, billed API keys and Vertex AI.","Cover art for the Gemini CLI review: a prompt loop through an approval gate and a sandbox, with the free lane closed","https:\u002F\u002Fwww.geminicli.com","Apache-2.0 · free individual tier closed 18 June 2026","Coding agent","Gemini CLI review: open, but no longer free · Balázs Csorba",[135,136,137,138,139],"Gemini CLI is still Apache-2.0 and still maintained (v0.63.0 on 6 October 2026), but since 18 June 2026 it no longer serves Google AI Pro or Ultra users or free individual Code Assist users.","For a company, the realistic routes are a Code Assist Standard or Enterprise licence, with 1,500 or 2,000 requests per user a day, or a billed Gemini API or Vertex AI key.","Your data terms follow the route: a billed key does not use prompts to improve products, Code Assist does not train on your data without permission, and the unpaid API tier may be used to improve Google's products.","For EU residency, start from Vertex AI's EU multi-region endpoint, because an endpoint alone does not guarantee residency or in-region processing.","The sandbox applies only when you switch it on, and the default macOS profile still allows broad file reads and network access.",[141,144,147,150],{"q":142,"a":143},"Can I still use Gemini CLI for free?","Not as an individual. The CLI's quota page says the unpaid tier and Google One users were replaced by Antigravity CLI on 18 June 2026, so the free rows it still lists are out of date. I did not verify Antigravity CLI's own limits, so check Google's pages before you plan around them.",{"q":145,"a":146},"Does Gemini CLI train on my code?","It depends on the route. Under Code Assist Standard and Enterprise, Google does not use your data to train its models without permission. Under a billed Gemini API key, prompts and responses are not used to improve products. Under the unpaid API tier, Google may use what you submit to improve products, and human reviewers may read it.",{"q":148,"a":149},"What does a call cost on the paid API?","On Google's pricing page, as of October 2026, Gemini 3.1 Pro Preview is listed at $2.00 per million input tokens and $12.00 per million output tokens, with thinking tokens billed as output. At that listed rate, a call with a 10,000-token prompt and a 1,000-token answer costs about $0.03, and an agent session makes many calls. The page sets separate rates around a 200,000-token prompt, so check the rate for your prompt size.",{"q":151,"a":152},"Is the CLI open source?","Yes. The code is licensed under the Apache License 2.0, as the LICENSE file states. The licence covers the code, not the models or the quotas, which Google sets separately.",[154,157,160,163,166,169,172,175,178],{"id":155,"title":156},"what-it-is","What it is",{"id":158,"title":159},"how-it-works","How it works",{"id":161,"title":162},"getting-started","Getting started",{"id":164,"title":165},"approvals-and-sandbox","Approval modes and the sandbox",{"id":167,"title":168},"context-mcp-and-actions","Context, MCP and the GitHub Action",{"id":170,"title":171},"cost-and-deployment","Cost and data protection",{"id":173,"title":174},"where-it-falls-short","Where it falls short",{"id":176,"title":177},"verdict","Verdict",{"id":179,"title":180},"sources","Sources",[182,186,189,192,195,220,227,228,231,240,243,244,247,250,253,254,257,279,288,289,292,295,298,299,302,366,369,372,380,381,384,406,407,410,464,495,501,502],{"type":183,"content":184},"paragraph",[185],"Gemini CLI is Google's open-source terminal agent, and it is no longer the free tool that its README still describes. Use it if your company already holds a Code Assist Standard or Enterprise licence, or if your platform team runs Gemini through billed API keys, including Vertex AI in the EU. Do not use it as a free personal agent: since 18 June 2026, Google has moved individual users to Antigravity CLI.",{"type":183,"content":187},[188],"This review covers what the CLI does, which routes still exist in October 2026, what each route does with your code, and how it compares with Claude Code and Codex CLI. I opened the Google, Anthropic and OpenAI pages on 10 October 2026. Where I could not confirm a figure – such as a Code Assist seat price – I left it out.",{"type":190,"level":191,"id":155,"text":156},"heading",2,{"type":183,"content":193},[194],"Gemini CLI is an npm package that runs an agent in your terminal. It reads your project, runs shell commands, edits files, searches the web through Google Search grounding and calls MCP servers. The code is Apache License 2.0, the latest stable release is v0.63.0 from 6 October 2026, and the README says the Gemini 3 models have a 1M-token context window.",{"type":196,"ordered":197,"items":198},"list",false,[199,205,210,215],[200,204],{"tag":201,"children":202},"strong",[203],"Install. ","npm install -g @google\u002Fgemini-cli, Homebrew or npx.",[206,209],{"tag":201,"children":207},[208],"Built-in tools. ","Google Search grounding, file operations, shell commands and web fetching.",[211,214],{"tag":201,"children":212},[213],"Extensions. ","MCP servers over stdio, SSE or Streamable HTTP, plus GEMINI.md context files.",[216,219],{"tag":201,"children":217},[218],"Automation. ","Headless mode with -p, a JSON output format and a GitHub Action.",{"type":221,"variant":222,"title":223,"body":224},"callout","warn","The free route closed on 18 June 2026",[225],[226],"Google's quota page says the unpaid tier and Google One users were replaced by Antigravity CLI on that date. The repository README still describes a free personal login with 1,000 requests a day and does not mention the change. For planning, trust the dated Google pages over the README.",{"type":190,"level":191,"id":158,"text":159},{"type":183,"content":229},[230],"Each request follows one loop. The prompt goes to the model, which asks for tools when it needs them. The approval mode decides whether a tool call runs at once or waits for you, and if you switched the sandbox on, the call runs inside it before it touches the project. The result returns to the model, and the loop repeats until the answer is ready.",{"type":232,"attrs":233,"inner":237,"caption":238},"diagram",{"viewBox":234,"role":235,"aria-labelledby":236},"0 0 720 330","img","d1-gc-t d1-gc-d","\u003Ctitle id=\"d1-gc-t\">One tool call, two checks\u003C\u002Ftitle>\u003Cdesc id=\"d1-gc-d\">A prompt goes to the Gemini model, which requests a tool call. The tool call passes the approval gate and then the sandbox before it reaches the project files. The result returns to the model, which continues the loop until it can answer.\u003C\u002Fdesc>\u003Cdefs>\u003Cmarker id=\"ah-gc\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\">\u003Cpath d=\"M0 0L10 5L0 10z\" class=\"d-head\" \u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Ctext x=\"20\" y=\"28\" class=\"d-title\">One tool call, two checks\u003C\u002Ftext>\u003Ctext x=\"700\" y=\"28\" text-anchor=\"end\" class=\"d-label\">same loop in every approval mode\u003C\u002Ftext>\u003Crect x=\"20\" y=\"60\" width=\"120\" height=\"62\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"80\" y=\"88\" text-anchor=\"middle\" class=\"d-text\">Prompt\u003C\u002Ftext>\u003Ctext x=\"80\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">+ GEMINI.md\u003C\u002Ftext>\u003Crect x=\"160\" y=\"60\" width=\"120\" height=\"62\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"220\" y=\"88\" text-anchor=\"middle\" class=\"d-text\">Gemini model\u003C\u002Ftext>\u003Ctext x=\"220\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">Auto\u003C\u002Ftext>\u003Crect x=\"300\" y=\"60\" width=\"120\" height=\"62\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"360\" y=\"88\" text-anchor=\"middle\" class=\"d-text\">Tool call\u003C\u002Ftext>\u003Ctext x=\"360\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">shell, edit, MCP\u003C\u002Ftext>\u003Crect x=\"440\" y=\"60\" width=\"120\" height=\"62\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"500\" y=\"88\" text-anchor=\"middle\" class=\"d-text\">Approval gate\u003C\u002Ftext>\u003Ctext x=\"500\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">mode decides\u003C\u002Ftext>\u003Crect x=\"580\" y=\"60\" width=\"120\" height=\"62\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"640\" y=\"88\" text-anchor=\"middle\" class=\"d-text\">Sandbox\u003C\u002Ftext>\u003Ctext x=\"640\" y=\"110\" text-anchor=\"middle\" class=\"d-small\">opt-in\u003C\u002Ftext>\u003Cpath d=\"M140 91 H158\" class=\"d-line\" marker-end=\"url(#ah-gc)\" \u002F>\u003Cpath d=\"M280 91 H298\" class=\"d-line\" marker-end=\"url(#ah-gc)\" \u002F>\u003Cpath d=\"M420 91 H438\" class=\"d-line\" marker-end=\"url(#ah-gc)\" \u002F>\u003Cpath d=\"M560 91 H578\" class=\"d-line\" marker-end=\"url(#ah-gc)\" \u002F>\u003Cpath d=\"M360 122 V160 H220 V124\" class=\"d-line-accent\" marker-end=\"url(#ah-gc)\" \u002F>\u003Ctext x=\"290\" y=\"182\" text-anchor=\"middle\" class=\"d-small\">result returns to the model\u003C\u002Ftext>\u003Cpath d=\"M640 124 V218\" class=\"d-line\" marker-end=\"url(#ah-gc)\" \u002F>\u003Crect x=\"580\" y=\"220\" width=\"120\" height=\"62\" rx=\"10\" class=\"d-sky\" \u002F>\u003Ctext x=\"640\" y=\"248\" text-anchor=\"middle\" class=\"d-text\">Your project\u003C\u002Ftext>\u003Ctext x=\"640\" y=\"270\" text-anchor=\"middle\" class=\"d-small\">your files\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"268\" class=\"d-small\">yolo skips the gate; plan mode stops before any edit\u003C\u002Ftext>\u003Ctext x=\"20\" y=\"296\" class=\"d-small\">With the default Seatbelt profile, the sandbox limits writes, not network access\u003C\u002Ftext>",[239],"Each tool call passes the approval gate and the sandbox before it can change a file in the project.",{"type":183,"content":241},[242],"Two inputs sit beside that loop. GEMINI.md files are read from several locations and concatenated, so a global file and a project file both shape the model's behaviour. MCP servers add their tools to the same loop, as the next section explains.",{"type":190,"level":191,"id":161,"text":162},{"type":183,"content":245},[246],"Start with a key from a Cloud project with active billing. The unpaid tier has been moved off the CLI, and billed access counts as a paid service under Google's terms. Set GEMINI_API_KEY, then run one task non-interactively with -s, which enables the sandbox that tools.sandbox names in settings.json.",{"type":248,"code":249},"code","npm install -g @google\u002Fgemini-cli\nexport GEMINI_API_KEY=\"key-from-a-billed-project\"\ngemini -s -p \"Run the test suite and summarise the failures\" --output-format json",{"type":183,"content":251},[252],"The JSON output returns the response with usage statistics, so a script can record what each run used. Since v0.63.0, non-interactive runs can also carry out multi-step plans on their own. Keep the sandbox on for unattended runs.",{"type":190,"level":191,"id":164,"text":165},{"type":183,"content":255},[256],"The approval mode decides which tool calls run without asking. The yolo mode can be set only on the command line, and the older --yolo flag is deprecated in favour of --approval-mode=yolo.",{"type":196,"ordered":197,"items":258},[259,264,269,274],[260,263],{"tag":201,"children":261},[262],"default: ","prompts for approval before tool actions.",[265,268],{"tag":201,"children":266},[267],"auto_edit: ","approves the edit tools automatically.",[270,273],{"tag":201,"children":271},[272],"plan: ","read-only, for research and planning before any change.",[275,278],{"tag":201,"children":276},[277],"yolo: ","approves everything, so use it only inside a sandbox.",{"type":183,"content":280},[281,282,287],"The sandbox is opt-in. Switch it on with -s, the GEMINI_SANDBOX variable or tools.sandbox, and choose macOS Seatbelt (sandbox-exec), Docker, Podman, runsc or LXC. The default Seatbelt profile, permissive-open, denies operations by default and confines writes to the project directory, but it allows broad file reads and network access. Treat it as a write fence, not a network fence. For unattended runners, the ",{"tag":283,"to":284,"children":285},"link","\u002Fblog\u002Fsandboxing-coding-agents-ci-checklist",[286],"AI agent sandbox checklist"," covers the rest.",{"type":190,"level":191,"id":167,"text":168},{"type":183,"content":290},[291],"GEMINI.md is the cheapest way to keep rules in one place. The CLI reads context files from several locations, so a file under ~\u002F.gemini and a file in the project both apply. Antigravity CLI keeps reading that file, and its migration guide also reads AGENTS.md, so existing project rules should carry over.",{"type":183,"content":293},[294],"MCP servers are declared under mcpServers in settings.json, each with a command, arguments and environment variables. A server that can write to a ticket system or a repository is a case for default approval rather than yolo, and I would test which prompts it triggers before relying on it.",{"type":183,"content":296},[297],"The run-gemini-cli action brings the CLI into GitHub workflows for pull request reviews, issue triage and @gemini-cli comments that ask for changes. On the Google side it accepts a Gemini API key or Workload Identity Federation; on the GitHub side, the default GITHUB_TOKEN or a custom GitHub App, which the README recommends. Its setup text still describes an AI Studio key with free quotas, so use a billed key instead. Code Assist for GitHub takes no new installs on GitHub organisations from 18 June 2026, but the version bought through Google Cloud is unchanged.",{"type":190,"level":191,"id":170,"text":171},{"type":183,"content":300},[301],"There is nothing to self-host. The CLI runs on your machine and sends each request to a Google endpoint, so the price and the data terms follow the route, not the tool. The table lists each route as Google's pages describe it in October 2026. Grounding with Google Search is metered separately on the API: 5,000 requests a month are free across Gemini 3 and newer models, then $14 per 1,000. Output prices include thinking tokens, and the pricing page changes rates with prompt size.",{"type":303,"head":304,"rows":313},"table",[305,307,309,311],[306],"Route",[308],"Price",[310],"Quota per user a day",[312],"Data use",[314,323,332,340,349,357],[315,317,319,321],[316],"Google account: AI Pro, Ultra or free individual",[318],"Ended for the CLI on 18 June 2026",[320],"Not applicable",[322],"Moved to Antigravity CLI",[324,326,328,330],[325],"Code Assist Standard",[327],"Per-user licence (price not verified)",[329],"1,500 requests",[331],"No training without your permission",[333,335,336,338],[334],"Code Assist Enterprise",[327],[337],"2,000 requests",[339],"As Standard, under Google Cloud terms",[341,343,345,347],[342],"Gemini API key, billed project",[344],"$2.00 in, $12.00 out per million tokens (Gemini 3.1 Pro Preview)",[346],"Varies",[348],"Prompts and responses not used to improve products",[350,352,354,355],[351],"Vertex AI, billed",[353],"Pay per token, regional or multi-region endpoint",[346],[356],"No training without prior permission; in-memory cache up to 24 hours unless disabled",[358,360,362,364],[359],"Unpaid Gemini API key",[361],"Free",[363],"250 listed on the quota page",[365],"Used to improve products; human review possible",{"type":183,"content":367},[368],"The data terms are where the routes really differ. Under the unpaid Gemini API terms, Google uses what you submit to provide, improve and develop products and machine-learning technologies. Human reviewers may read, annotate and process input and output after it is disconnected from your account, key and project, and Google asks you not to send sensitive, confidential or personal data there. The paid terms say prompts and responses are not used to improve products, and paid use is processed under Google's Data Processing Addendum.",{"type":183,"content":370},[371],"Code Assist Standard and Enterprise follow Google Cloud's terms, and the FAQ says Google does not train its models on your data without permission. Vertex AI adds a training restriction for all managed models on Gemini Enterprise Agent Platform, including pre-GA models. Its data-residency page separates data at rest from ML processing. The EU multi-region endpoint keeps ML processing inside EU member states and excludes the UK and Switzerland.",{"type":183,"content":373},[374,375,379],"Google's locations page says endpoints do not guarantee data residency or in-region ML processing, so choose the endpoint on purpose. Two Vertex defaults need a decision too. Published Gemini models cache inputs and outputs in memory for up to 24 hours by default, per project, and you can disable that. Standard Google Cloud terms allow prompt logging for abuse monitoring, and zero data retention needs an exception request. For the wider EU checklist, see ",{"tag":283,"to":376,"children":377},"\u002Fblog\u002Fgdpr-llm-api-eu-data-residency",[378],"GDPR LLM data residency: region controls, zero retention, EU options",".",{"type":190,"level":191,"id":173,"text":174},{"type":183,"content":382},[383],"The weaknesses are mostly about planning. The free route has gone, and the documentation lags behind it. The README still advertises a free personal login, the quota table still lists the closed rows, and the Action's setup still asks for a free key. Read the dated Google pages, not the README, and expect names to move: Vertex AI is now filed under Gemini Enterprise Agent Platform.",{"type":196,"ordered":197,"items":385},[386,391,396,401],[387,390],{"tag":201,"children":388},[389],"The sandbox is a write fence. ","The default macOS profile allows broad reads and network access, so an agent that runs shell commands can still make network calls.",[392,395],{"tag":201,"children":393},[394],"Per-minute limits are not published. ","The quota page gives daily figures but no per-minute numbers, so you cannot size a burst from it.",[397,400],{"tag":201,"children":398},[399],"Token bills are hard to forecast. ","Thinking tokens count as output, prices change with prompt size and agent sessions make many calls.",[402,405],{"tag":201,"children":403},[404],"Two gaps remain. ","I did not confirm Antigravity CLI's limits or data terms, or a per-user price for Code Assist.",{"type":190,"level":191,"id":176,"text":177},{"type":183,"content":408},[409],"Gemini CLI is worth adopting where a licence or a billed key is already in the budget. A company with Code Assist Standard or Enterprise gets an Apache-2.0 agent with approval modes, an opt-in sandbox, GEMINI.md, MCP and an Action. For a personal project the free route is gone, and I would not start there.",{"type":303,"head":411,"rows":419},[412,414,415,417],[413],"Question",[25],[416],"Claude Code",[418],"Codex CLI",[420,428,437,446,455],[421,423,425,427],[422],"Licence",[424],"Apache-2.0",[426],"Public repository, all rights reserved",[424],[429,431,433,435],[430],"Entry price",[432],"Billed key or Code Assist licence",[434],"Pro $17 a month billed yearly, $20 monthly; Max from $100",[436],"Free tier; Plus $20 a month; Pro from $100",[438,440,442,444],[439],"Sandbox",[441],"Opt-in: Seatbelt, Docker, Podman, runsc, LXC",[443],"Seatbelt on macOS; bubblewrap and socat on Linux and WSL2",[445],"On by default: Seatbelt, bubblewrap or the Windows sandbox",[447,449,451,453],[448],"Approval modes",[450],"default, auto_edit, plan, yolo",[452],"acceptEdits, plan and auto modes",[454],"read-only, Auto, CI preset",[456,458,460,462],[457],"Training on your data",[459],"Depends on the route",[461],"Consumer plans: used for training if the setting is on; commercial: no training unless you opt in",[463],"Not verified here",{"type":196,"ordered":197,"items":465},[466,471,475,480,488],[467,470],{"tag":201,"children":468},[469],"Adopt it if ","your company holds a Code Assist Standard or Enterprise licence and wants an Apache-2.0 agent with approval modes and an Action.",[472,474],{"tag":201,"children":473},[469],"a platform team already runs Gemini on Vertex AI in a billed project and needs an EU endpoint.",[476,479],{"tag":201,"children":477},[478],"Do not adopt it ","as a free personal agent. The individual route has closed, and Antigravity CLI is Google's path for that use.",[481,484,487],{"tag":201,"children":482},[483],"Pick ",{"tag":283,"to":485,"children":486},"\u002Ftools\u002Fclaude-code",[416]," if you would rather pay a monthly plan than tokens. Its free plan does not include Claude Code, so budget from Pro.",[489,491,494],{"tag":201,"children":490},[483],{"tag":283,"to":492,"children":493},"\u002Ftools\u002Fopenai-codex-cli",[418]," if you already pay for ChatGPT Plus and want a sandbox that applies by default.",{"type":221,"variant":496,"title":497,"body":498},"tip","Check which terms apply before you add a key",[499],[500],"A key from Google AI Studio falls under the paid terms when its account has a billing-enabled Cloud project or is a Workspace enterprise account. Check which terms your key falls under before the CLI or the Action uses it.",{"type":190,"level":191,"id":179,"text":180},{"type":196,"ordered":197,"items":503},[504,508,511,514,517,520,523,526,529,532,535,538,541,544,547,550,553,556,559,562,565,568,571,574,577,580,583,586],[505],{"tag":506,"href":39,"children":507},"a",[38],[509],{"tag":506,"href":42,"children":510},[41],[512],{"tag":506,"href":45,"children":513},[44],[515],{"tag":506,"href":26,"children":516},[47],[518],{"tag":506,"href":50,"children":519},[49],[521],{"tag":506,"href":53,"children":522},[52],[524],{"tag":506,"href":56,"children":525},[55],[527],{"tag":506,"href":59,"children":528},[58],[530],{"tag":506,"href":62,"children":531},[61],[533],{"tag":506,"href":65,"children":534},[64],[536],{"tag":506,"href":68,"children":537},[67],[539],{"tag":506,"href":71,"children":540},[70],[542],{"tag":506,"href":74,"children":543},[73],[545],{"tag":506,"href":77,"children":546},[76],[548],{"tag":506,"href":80,"children":549},[79],[551],{"tag":506,"href":83,"children":552},[82],[554],{"tag":506,"href":86,"children":555},[85],[557],{"tag":506,"href":89,"children":558},[88],[560],{"tag":506,"href":92,"children":561},[91],[563],{"tag":506,"href":95,"children":564},[94],[566],{"tag":506,"href":98,"children":567},[97],[569],{"tag":506,"href":101,"children":570},[100],[572],{"tag":506,"href":104,"children":573},[103],[575],{"tag":506,"href":107,"children":576},[106],[578],{"tag":506,"href":110,"children":579},[109],[581],{"tag":506,"href":113,"children":582},[112],[584],{"tag":506,"href":116,"children":585},[115],[587],{"tag":506,"href":119,"children":588},[118],[590,693,797,907],{"slug":591,"published":592,"minutes":593,"category":7,"tags":594,"keywords":599,"about":607,"sources":618,"cover":686,"og":687,"expertise":122,"locales":688,"lang":124,"title":689,"description":690,"coverAlt":691,"url":610,"pricing":692,"kind":132},"opencode","2026-10-09",8,[595,596,597,598,11],"AI coding agent","Terminal","Open source","Local models",[591,600,601,602,603,604,605,606],"opencode review","open source coding agent","opencode vs claude code","terminal coding agent","opencode local models","opencode permissions","opencode mcp",[608,611,614,615],{"name":609,"url":610},"OpenCode","https:\u002F\u002Fopencode.ai",{"name":612,"url":613},"Large language model","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLarge_language_model",{"name":34,"url":35},{"name":616,"url":617},"Language Server Protocol","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FLanguage_Server_Protocol",[619,622,625,628,631,634,637,640,643,646,649,652,655,658,661,664,666,669,671,674,677,680,683],{"title":620,"url":621},"OpenCode docs: intro and installation","https:\u002F\u002Fopencode.ai\u002Fdocs\u002F",{"title":623,"url":624},"OpenCode docs: providers, Models.dev and local models","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fproviders\u002F",{"title":626,"url":627},"OpenCode docs: agents, Build, Plan and subagents","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fagents\u002F",{"title":629,"url":630},"OpenCode docs: permissions and defaults","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fpermissions\u002F",{"title":632,"url":633},"OpenCode docs: MCP servers","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fmcp-servers\u002F",{"title":635,"url":636},"OpenCode docs: LSP servers","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Flsp\u002F",{"title":638,"url":639},"OpenCode docs: server and web interface","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fserver\u002F",{"title":641,"url":642},"OpenCode docs: config and precedence","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fconfig\u002F",{"title":644,"url":645},"OpenCode docs: Zen, pay-as-you-go models","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fzen\u002F",{"title":647,"url":648},"OpenCode docs: Go subscription plans","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fgo\u002F",{"title":650,"url":651},"OpenCode docs: share and data retention","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fshare\u002F",{"title":653,"url":654},"OpenCode docs: enterprise and data handling","https:\u002F\u002Fopencode.ai\u002Fdocs\u002Fenterprise\u002F",{"title":656,"url":657},"GitHub: anomalyco\u002Fopencode, MIT licence and README","https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode",{"title":659,"url":660},"OpenCode release v1.18.35 (6 October 2026)","https:\u002F\u002Fgithub.com\u002Fanomalyco\u002Fopencode\u002Freleases\u002Ftag\u002Fv1.18.35",{"title":662,"url":663},"Claude Code licence file (LICENSE.md)","https:\u002F\u002Fraw.githubusercontent.com\u002Fanthropics\u002Fclaude-code\u002Fmain\u002FLICENSE.md",{"title":665,"url":92},"Claude pricing: plans and Claude Code access",{"title":667,"url":668},"Claude Code docs: connect to an LLM gateway","https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fllm-gateway",{"title":670,"url":113},"OpenAI Codex CLI repository (Apache-2.0)",{"title":672,"url":673},"ChatGPT pricing: Codex included in plans","https:\u002F\u002Flearn.chatgpt.com\u002Fdocs\u002Fpricing",{"title":675,"url":676},"Codex configuration: model providers and config.toml","https:\u002F\u002Flearn.chatgpt.com\u002Fdocs\u002Fconfig-file\u002Fconfig-advanced",{"title":678,"url":679},"Aider website: git integration and LLM support","https:\u002F\u002Faider.chat\u002F",{"title":681,"url":682},"Aider licence file (Apache-2.0)","https:\u002F\u002Fraw.githubusercontent.com\u002FAider-AI\u002Faider\u002Fmain\u002FLICENSE.txt",{"title":684,"url":685},"GDPR, Regulation (EU) 2016\u002F679, Article 28","https:\u002F\u002Feur-lex.europa.eu\u002Flegal-content\u002FEN\u002FTXT\u002FHTML\u002F?uri=CELEX:32016R0679","\u002Fimages\u002Fblog\u002Fopencode\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fopencode\u002Fog.jpg",[124,125,126],"OpenCode review: the open-source coding agent for any model","OpenCode is an MIT-licensed terminal coding agent for any model, hosted or local. Agents, permissions, MCP and LSP, plus the data-protection trade-offs.","Cover art for the OpenCode review: one agent loop in the terminal fanning out to a hosted API, a local model and Zen.","MIT · free, you pay the model provider",{"slug":694,"published":695,"minutes":593,"category":7,"tags":696,"keywords":702,"about":711,"sources":722,"cover":789,"og":790,"expertise":122,"locales":791,"lang":124,"title":792,"description":793,"coverAlt":794,"url":795,"pricing":796,"kind":697},"pydantic-ai","2026-10-08",[697,698,699,700,701],"Agent framework","Typed Python","Structured output","Dependency injection","OpenTelemetry",[703,704,705,706,707,708,709,710],"pydantic ai","pydantic ai review","pydantic ai vs langgraph","pydantic ai vs openai agents sdk","typed python agent framework","pydantic ai logfire pricing","pydantic ai 2.0 upgrade","python llm agent framework",[712,715,718,720],{"name":713,"url":714},"Pydantic","https:\u002F\u002Fpydantic.dev",{"name":716,"url":717},"Python (programming language)","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPython_(programming_language)",{"name":700,"url":719},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FDependency_injection",{"name":701,"url":721},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FOpenTelemetry",[723,726,729,732,735,738,741,744,747,750,753,756,759,762,765,768,771,774,777,780,783,786],{"title":724,"url":725},"Pydantic AI documentation","https:\u002F\u002Fai.pydantic.dev\u002F",{"title":727,"url":728},"pydantic-ai 2.55.0 on PyPI (released 9 October 2026)","https:\u002F\u002Fpypi.org\u002Fproject\u002Fpydantic-ai\u002F",{"title":730,"url":731},"pydantic\u002Fpydantic-ai on GitHub: licence, stars and README","https:\u002F\u002Fgithub.com\u002Fpydantic\u002Fpydantic-ai",{"title":733,"url":734},"Pydantic AI release notes: 2.51.0 to 2.55.0 and the 2.52.0 security fix","https:\u002F\u002Fgithub.com\u002Fpydantic\u002Fpydantic-ai\u002Freleases",{"title":736,"url":737},"Pydantic AI version policy","https:\u002F\u002Fai.pydantic.dev\u002Fversion-policy\u002F",{"title":739,"url":740},"Pydantic AI upgrade guide: the V2 betas and the stable release","https:\u002F\u002Fai.pydantic.dev\u002Fproject\u002Fchangelog\u002F",{"title":742,"url":743},"Pydantic AI output: tool output, retries and output validators","https:\u002F\u002Fai.pydantic.dev\u002Foutput\u002F",{"title":745,"url":746},"Pydantic AI dependencies and RunContext","https:\u002F\u002Fai.pydantic.dev\u002Fdependencies\u002F",{"title":748,"url":749},"Pydantic AI models and providers","https:\u002F\u002Fai.pydantic.dev\u002Fmodels\u002Foverview\u002F",{"title":751,"url":752},"Pydantic AI unit testing with TestModel and FunctionModel","https:\u002F\u002Fai.pydantic.dev\u002Ftesting\u002F",{"title":754,"url":755},"Pydantic AI durable execution overview","https:\u002F\u002Fai.pydantic.dev\u002Fdurable_execution\u002Foverview\u002F",{"title":757,"url":758},"Pydantic Logfire: observability for Pydantic AI","https:\u002F\u002Fai.pydantic.dev\u002Flogfire\u002F",{"title":760,"url":761},"Pydantic Logfire pricing","https:\u002F\u002Fpydantic.dev\u002Fpricing",{"title":763,"url":764},"Pydantic security and compliance","https:\u002F\u002Fpydantic.dev\u002Fsecurity",{"title":766,"url":767},"OpenAI Agents SDK documentation","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002F",{"title":769,"url":770},"OpenAI Agents SDK tracing","https:\u002F\u002Fopenai.github.io\u002Fopenai-agents-python\u002Ftracing\u002F",{"title":772,"url":773},"openai\u002Fopenai-agents-python on GitHub","https:\u002F\u002Fgithub.com\u002Fopenai\u002Fopenai-agents-python",{"title":775,"url":776},"openai-agents 0.23.1 on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fopenai-agents\u002F",{"title":778,"url":779},"langchain-ai\u002Flanggraph on GitHub","https:\u002F\u002Fgithub.com\u002Flangchain-ai\u002Flanggraph",{"title":781,"url":782},"langgraph 1.2.14 on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Flanggraph\u002F",{"title":784,"url":785},"LangGraph overview","https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Foverview",{"title":787,"url":788},"LangGraph interrupts","https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Finterrupts","\u002Fimages\u002Fblog\u002Fpydantic-ai\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpydantic-ai\u002Fog.jpg",[124,125,126],"Pydantic AI review: typed Python agents with validated output","Pydantic AI 2.55 gives Python agents typed dependencies, validated output and OpenTelemetry tracing. What 2.0 changed, what Logfire costs and who should pick it.","Cover art for the Pydantic AI review: a typed agent loop with tools, a validation gate and a retry path back to the model.","https:\u002F\u002Fai.pydantic.dev","MIT · free library, Logfire Team from $49 a month",{"slug":798,"published":5,"minutes":593,"category":7,"tags":799,"keywords":805,"about":814,"sources":825,"cover":899,"og":900,"expertise":122,"locales":901,"lang":124,"title":902,"description":903,"coverAlt":904,"url":817,"pricing":905,"kind":906},"temporal",[800,801,802,803,804],"Durable execution","Workflow orchestration","Human in the loop","AI agents","Self-hosting",[806,807,808,809,810,811,812,813],"temporal workflow","temporal ai agents","durable execution for ai agents","temporal vs langgraph","temporal cloud pricing","temporal openai agents sdk","self-hosted temporal","temporal determinism rules",[815,818,821,822],{"name":816,"url":817},"Temporal","https:\u002F\u002Ftemporal.io",{"name":819,"url":820},"Workflow engine","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FWorkflow_engine",{"name":612,"url":613},{"name":823,"url":824},"Human-in-the-loop","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FHuman-in-the-loop",[826,829,832,835,838,841,844,847,850,853,856,859,862,865,868,871,874,877,880,883,886,889,890,893,896],{"title":827,"url":828},"Temporal Cloud pricing","https:\u002F\u002Ftemporal.io\u002Fpricing",{"title":830,"url":831},"Temporal Cloud pricing documentation","https:\u002F\u002Fdocs.temporal.io\u002Fcloud\u002Fpricing",{"title":833,"url":834},"OpenAI Agents SDK integration for Python","https:\u002F\u002Fdocs.temporal.io\u002Fdevelop\u002Fpython\u002Fintegrations\u002Fopenai-agents",{"title":836,"url":837},"Workflow definition and determinism","https:\u002F\u002Fdocs.temporal.io\u002Fworkflow-definition",{"title":839,"url":840},"Retry policies","https:\u002F\u002Fdocs.temporal.io\u002Fencyclopedia\u002Fretry-policies",{"title":842,"url":843},"Activity timeouts","https:\u002F\u002Fdocs.temporal.io\u002Fencyclopedia\u002Fdetecting-activity-failures",{"title":845,"url":846},"Cloud actions reference","https:\u002F\u002Fdocs.temporal.io\u002Fcloud\u002Factions",{"title":848,"url":849},"Event history limits","https:\u002F\u002Fdocs.temporal.io\u002Fworkflow-execution\u002Fevent",{"title":851,"url":852},"Message passing in Python: signals, queries and updates","https:\u002F\u002Fdocs.temporal.io\u002Fdevelop\u002Fpython\u002Fmessage-passing",{"title":854,"url":855},"Human-in-the-loop AI agent sample","https:\u002F\u002Fdocs.temporal.io\u002Fai\u002Fcookbook\u002Fhuman-in-the-loop-python",{"title":857,"url":858},"Cloud security model","https:\u002F\u002Fdocs.temporal.io\u002Fcloud\u002Fsecurity",{"title":860,"url":861},"Cloud service regions","https:\u002F\u002Fdocs.temporal.io\u002Fcloud\u002Fregions",{"title":863,"url":864},"Data processing agreement","https:\u002F\u002Ftemporal.io\u002Fdpa",{"title":866,"url":867},"Self-hosted deployment guide","https:\u002F\u002Fdocs.temporal.io\u002Fself-hosted-guide\u002Fdeployment",{"title":869,"url":870},"Self-hosted production checklist","https:\u002F\u002Fdocs.temporal.io\u002Fself-hosted-guide\u002Fproduction-checklist",{"title":872,"url":873},"Self-hosted visibility stores","https:\u002F\u002Fdocs.temporal.io\u002Fself-hosted-guide\u002Fvisibility",{"title":875,"url":876},"Temporal Server architecture","https:\u002F\u002Fdocs.temporal.io\u002Ftemporal-service\u002Ftemporal-server",{"title":878,"url":879},"Temporal server LICENSE file","https:\u002F\u002Fgithub.com\u002Ftemporalio\u002Ftemporal\u002Fblob\u002Fmain\u002FLICENSE",{"title":881,"url":882},"Temporal integrations index","https:\u002F\u002Fdocs.temporal.io\u002Fintegrations",{"title":884,"url":885},"LangGraph integration with Temporal","https:\u002F\u002Fdocs.temporal.io\u002Fdevelop\u002Fpython\u002Fintegrations\u002Flanggraph",{"title":887,"url":888},"LangGraph persistence","https:\u002F\u002Fdocs.langchain.com\u002Foss\u002Fpython\u002Flanggraph\u002Fpersistence",{"title":787,"url":788},{"title":891,"url":892},"Self-hosted guide and development server","https:\u002F\u002Fdocs.temporal.io\u002Fself-hosted-guide",{"title":894,"url":895},"Python SDK reference: workflow.wait_condition","https:\u002F\u002Fpython.temporal.io\u002Ftemporalio.workflow._context.html",{"title":897,"url":898},"Python SDK reference: ApplicationError","https:\u002F\u002Fpython.temporal.io\u002Ftemporalio.exceptions.ApplicationError.html","\u002Fimages\u002Fblog\u002Ftemporal\u002Fcover.webp","\u002Fimages\u002Fblog\u002Ftemporal\u002Fog.jpg",[124,125,126],"Temporal review: durable agents that survive crashes and wait for people","Temporal runs agent loops as durable workflows, so retries, approvals and timers survive crashes. Costs, data residency, determinism rules and when to skip it.","Cover art for the Temporal review: a workflow that retries model calls as activities and pauses until a person signs off.","MIT · self-hosting free · Cloud pay-as-you-go from $0","Durable execution platform",{"slug":908,"published":909,"minutes":910,"category":7,"tags":911,"keywords":915,"about":924,"sources":936,"cover":1027,"og":1028,"expertise":122,"locales":1029,"lang":124,"title":1030,"description":1031,"coverAlt":1032,"url":927,"pricing":1033,"kind":1034},"e2b","2026-10-02",12,[912,803,913,804,914],"Code sandbox","Firecracker","EU data residency",[916,917,918,919,920,921,922,923],"e2b sandbox","e2b pricing","e2b vs modal","e2b self-hosted","e2b code interpreter","ai agent code execution sandbox","e2b eu region","firecracker microvm for ai agents",[925,928,930,933],{"name":926,"url":927},"E2B","https:\u002F\u002Fe2b.dev",{"name":913,"url":929},"https:\u002F\u002Ffirecracker-microvm.github.io\u002F",{"name":931,"url":932},"Kernel-based Virtual Machine","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FKernel-based_Virtual_Machine",{"name":934,"url":935},"General Data Protection Regulation","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FGeneral_Data_Protection_Regulation",[937,940,943,946,949,952,955,958,961,964,967,970,973,976,979,982,985,988,991,994,997,1000,1003,1006,1009,1012,1015,1018,1021,1024],{"title":938,"url":939},"E2B documentation: isolated sandboxes for agents","https:\u002F\u002Fe2b.dev\u002Fdocs",{"title":941,"url":942},"E2B billing and limits: plans, rates and API rate limits","https:\u002F\u002Fdocs.e2b.dev\u002Fbilling",{"title":944,"url":945},"E2B: how long a sandbox lives, timeouts and auto-pause","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fsandbox-lifetime",{"title":947,"url":948},"E2B: sandbox persistence, pause and resume","https:\u002F\u002Fdocs.e2b.dev\u002Fsandbox\u002Fpersistence",{"title":950,"url":951},"E2B: how template builds work, snapshots and kernel versions","https:\u002F\u002Fdocs.e2b.dev\u002Ftemplate\u002Fhow-it-works",{"title":953,"url":954},"E2B: template quickstart, build limits and templates versus snapshots","https:\u002F\u002Fdocs.e2b.dev\u002Ftemplate\u002Fquickstart",{"title":956,"url":957},"E2B: running your first sandbox","https:\u002F\u002Fdocs.e2b.dev\u002Fquickstart",{"title":959,"url":960},"E2B: run Python code in the code interpreter","https:\u002F\u002Fdocs.e2b.dev\u002Fcode-interpreting\u002Fsupported-languages\u002Fpython",{"title":962,"url":963},"E2B: internet access controls","https:\u002F\u002Fdocs.e2b.dev\u002Fnetwork\u002Finternet-access",{"title":965,"url":966},"E2B: secrets injected by the egress proxy","https:\u002F\u002Fdocs.e2b.dev\u002Fsecrets",{"title":968,"url":969},"E2B: is it SOC 2 compliant? Trust Center, DPA and sub-processors","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fsecurity-and-compliance",{"title":971,"url":972},"E2B: can I run sandboxes in the EU?","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Feu-region",{"title":974,"url":975},"E2B: egress IP ranges and regions","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fegress-ip-ranges",{"title":977,"url":978},"E2B: does it support GPUs?","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fgpu-support",{"title":980,"url":981},"E2B: how to calculate the price of a sandbox, with current rates","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fcalculate-sandbox-price",{"title":983,"url":984},"E2B: Volumes beta limitations: file locking, mounts and regions","https:\u002F\u002Fdocs.e2b.dev\u002Ffaq\u002Fvolumes-beta-limitations",{"title":986,"url":987},"E2B: bring your own cloud (BYOC)","https:\u002F\u002Fdocs.e2b.dev\u002Fbyoc",{"title":989,"url":990},"E2B changelog: E2B Embed, the access token change and weekly releases","https:\u002F\u002Fdocs.e2b.dev\u002Fchangelog",{"title":992,"url":993},"E2B Embed: self-hosting on one machine (README)","https:\u002F\u002Fgithub.com\u002Fe2b-dev\u002Fruntime\u002Ftree\u002Fmain\u002Fembed",{"title":995,"url":996},"E2B Embed: Docker Compose requirements and sizing","https:\u002F\u002Fgithub.com\u002Fe2b-dev\u002Fruntime\u002Fblob\u002Fmain\u002Fembed\u002Fcompose\u002FREADME.md",{"title":998,"url":999},"E2B SDK repository, Apache-2.0","https:\u002F\u002Fgithub.com\u002Fe2b-dev\u002FE2B",{"title":1001,"url":1002},"Firecracker: lightweight microVMs on KVM","https:\u002F\u002Fgithub.com\u002Ffirecracker-microvm\u002Ffirecracker",{"title":1004,"url":1005},"Modal pricing: per-second CPU, memory and GPU","https:\u002F\u002Fmodal.com\u002Fpricing",{"title":1007,"url":1008},"Modal sandboxes: lifetime, gVisor and VM runtimes","https:\u002F\u002Fmodal.com\u002Fdocs\u002Fguide\u002Fsandbox",{"title":1010,"url":1011},"Modal region selection: region codes","https:\u002F\u002Fmodal.com\u002Fdocs\u002Fguide\u002Fregion-selection",{"title":1013,"url":1014},"Daytona pricing: vCPU and GiB rates","https:\u002F\u002Fwww.daytona.io\u002Fpricing",{"title":1016,"url":1017},"Daytona documentation: sandbox isolation and start time","https:\u002F\u002Fwww.daytona.io\u002Fdocs\u002Fen\u002F",{"title":1019,"url":1020},"Daytona regions: shared United States and Europe","https:\u002F\u002Fwww.daytona.io\u002Fdocs\u002Fen\u002Fregions\u002F",{"title":1022,"url":1023},"Docker security: kernel namespaces, control groups and capabilities","https:\u002F\u002Fdocs.docker.com\u002Fengine\u002Fsecurity\u002F",{"title":1025,"url":1026},"Regulation (EU) 2016\u002F679 (GDPR), EUR-Lex","https:\u002F\u002Feur-lex.europa.eu\u002Feli\u002Freg\u002F2016\u002F679\u002Foj","\u002Fimages\u002Fblog\u002Fe2b\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fe2b\u002Fog.jpg",[124,125,126],"E2B review: Firecracker sandboxes for agent code, billed per second","E2B runs each agent run in its own Firecracker microVM, with pause, resume and per-second billing. Where it fits, what the EU option costs and where self-hosting stops.","Cover art for the E2B review: agent code goes through an API into a microVM sandbox, and the result comes back into the loop.","Usage-based · Hobby free, Pro from $150 a month","Code execution sandbox",1791636874628]