Skip to main content

Atomsh

Your autonomous coding agent for science.

Atomsh reads and edits files, searches the codebase, and runs commands from your terminal, and it can look a material up while doing it.

You need an account on atomgpt.org. That account is the only credential Atomsh uses. There is no OpenAI or Anthropic key to supply, and no other provider to configure. Sign up first, then install.

Python 3.10 or newer. Tested on Linux and WSL2; macOS should work. Windows needs WSL.

Full documentation: https://atomgptlab.github.io/atomsh

Install

curl -fsSL https://atomgpt.org/install | bash

The installer uses uv when it is present, falls back to a virtualenv, and bootstraps uv if the system Python is unusable. Everything lands in an isolated environment with a launcher in ~/.local/bin. No sudo.

Connect

Sign in at atomgpt.org first if you have not already, then:

atomsh login

This opens atomgpt.org in your browser and starts a one-request listener on 127.0.0.1; you approve once, and the credential comes back to your machine and is stored 0600 in ~/.config/atomsh/auth.json. Nothing is sent anywhere else. On a headless machine use atomsh login --key and paste an API key from Settings → Account → API Keys instead.

On a remote host such as a cluster login node, use atomsh login --manual: approve in a browser anywhere and paste the redirect address back, since the browser's 127.0.0.1 is not the machine running Atomsh. atomsh login --key skips the browser entirely.

atomsh whoami checks the stored credential; atomsh logout forgets it.

Use

atomsh                            # interactive session
atomsh "fix the failing test"     # run one prompt and exit
atomsh -c                         # resume this directory's last session
git diff | atomsh "review this"   # read a prompt from stdin
Flag Effect
-m, --model Pick a model (default gemma-4-26b)
-c, --continue Resume the most recent session for this directory
--yolo Do not ask before writing files or running commands
--readonly Refuse all writes and shell commands
--no-materials Leave out the AtomGPT materials tools

Commands: login, logout, whoami, models.

In a session: !<command> runs a shell command yourself, /history replays the conversation, /model switches model, /clear starts a fresh thread. Escape interrupts a response while it is streaming.

Permissions

By default atomsh asks before anything that writes a file or runs a command; reads and searches happen unattended. Answering a allows that tool for the rest of the session. A path outside the working directory always prompts, even after a.

Models

atomsh models lists what your account can use. The mcp.* models are excluded on purpose: those run the AtomGPT materials agent on the server and answer in prose rather than making tool calls, so they cannot drive a coding loop. Use them through a chat client instead.

Tools

read_file, write_file, edit_file, list_dir, glob_files, grep_files, bash.

Materials tools

atomsh connects to the AtomGPT MCP server with the same credential and carries six more tools by default: explore, build, predict, characterize, apply, validate. Each dispatches to a family of AtomGPT apps: JARVIS-DFT lookups, ALIGNN predictions, band structures, XRD, interfaces, protein folding, so the agent can look a material up instead of answering from the model's memory:

$ atomsh --materials "bandgap of silicon JVASP-1002 from JARVIS-DFT"
  · explore(app=/jarvis_dft/query, params={"jid": "JVASP-1002"})
OptB88vdW 0.731 eV · mBJ 1.277 eV · HSE 1.22 eV

The tool list is cached under ~/.local/share/atomsh/ and refreshed daily, and the MCP session is opened on first use, so carrying them costs nothing at startup. --no-materials leaves them out, worth doing for pure coding work, where a narrower tool surface is easier for the model.

Development

uv venv && uv pip install -e .
ATOMSH_API_KEY=sk-… atomsh --readonly "what does this repo do?"

ATOMSH_API_BASE points the client at a different deployment.

install.sh here is the canonical installer; atomgpt.org/install serves a copy of it.

License

Apache-2.0

Citing

Atomsh builds on the AtomGPT platform and the JARVIS infrastructure. If it contributes to work you publish, please cite the relevant papers below.

  1. J. Lee, J. Ely, K. Zhang, A. Ajith, C. R. Campbell and K. Choudhary, "AGAPI-Agents: An Open-Access Agentic AI Platform for Accelerated Materials Design on AtomGPT.org", The Journal of Physical Chemistry Letters 17 (26), 7221-7231 (2026). doi:10.1021/acs.jpclett.6c00837

  2. K. Choudhary, "The JARVIS infrastructure is all you need for materials design", Computational Materials Science 259, 114063 (2025). doi:10.1016/j.commatsci.2025.114063

  3. K. Choudhary, "ChatGPT Material Explorer: Design and Implementation of a Custom GPT Assistant for Materials Science Applications", Integrating Materials and Manufacturing Innovation 14 (3), 276-283 (2025). doi:10.1007/s40192-025-00410-9

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

atomsh-2026.9.1.tar.gz (31.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

atomsh-2026.9.1-py3-none-any.whl (34.7 kB view details)

Uploaded Python 3

File details

Details for the file atomsh-2026.9.1.tar.gz.

File metadata

  • Download URL: atomsh-2026.9.1.tar.gz
  • Upload date:
  • Size: 31.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for atomsh-2026.9.1.tar.gz
Algorithm Hash digest
SHA256 eaf1f334332a320a3ee4881c786f08071085097189dd136450159d604411fcbe
MD5 d3f5e79c1f4ad92ebb3488402ab763cf
BLAKE2b-256 350486c70be0a1b24051a01bfa03e18beb362453df4a47fbba36b9992df9602a

See more details on using hashes here.

File details

Details for the file atomsh-2026.9.1-py3-none-any.whl.

File metadata

  • Download URL: atomsh-2026.9.1-py3-none-any.whl
  • Upload date:
  • Size: 34.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for atomsh-2026.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9fe33f7815b63ff57be21d27a7e196f81150130c0a68cb965de3c9b7e0bb498e
MD5 f6bd0aa3525eb2e7defb8896f2b9a6da
BLAKE2b-256 e9eda08edeb884116dd93e3e94b7c0dd61f246cff106e4b4965b36b35d4b87c9

See more details on using hashes here.

Release history Release notifications | RSS feed

2026.9.2

2 files

This release

2026.9.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page