1/ Any model on OpenRouter can now run code in a hosted Linux...

Add one tool to a Responses API request. The model writes the script, runs it, and reads back the result. Nothing to install, nothing to host.
Meet openrouter:shell.
To get started:
"tools": [{ "type": "openrouter:shell", "parameters": { "engine": "openrouter" } }]
The model sends a batch of commands, OpenRouter starts an isolated container scoped to your workspace and runs them. Each command returns stdout, stderr, and an exit code, so the model can see and fix failing scripts before it answers.
Everything written under /workspace/home is saved to storage when the container is cleaned up. List and download those files through the containers API, or promote one to your workspace so several containers can share it. Container files are kept for 30 days.
Upload up to 10 GiB, then attach files to a run by id in the tool's environment.file_ids. The model gets a writable copy. Files that the run produces come back the same way. Manage everything at openrouter.ai/workspaces/def…, including a switch to turn the Files API off.
To reuse a container, include the last shell result in the next request, or set environment to container_reference with a container_id. The files are still there. Outbound network is off by default. Turn it on per run with network_policy, for example an allowlist of pypi.org and files.pythonhosted.org. Sandbox time costs $0.0001 per active second. Inference is billed separately.
Try it in the chatroom with the shell switch on, or send openrouter:shell on any Responses API request. openrouter:bash does the same for the Anthropic Messages API.
Read more at: openrouter.ai/docs/guides/fe…