Noodle
API workflows, untangled.
Open-source terminal REST client
Write, send, inspect, and automate HTTP requests from readable files without leaving your terminal. Keep every collection versioned beside the code it exercises, ready for the TUI, CLI, scripts, and coding agents.
Fast by default. Made to review. Ready to automate.
Get started · Website · Docs · Changelog · Security

Install
curl -LsSf https://noodlerest.dev/install.sh | shFiles first
Every request is a readable YAML file. Edit it in Noodle or your editor, review it in Git, and keep it beside the code it exercises.
name: Get User
method: GET
url: $base_url/users/:userId
path_params:
- name: userId
value: $user_id
headers:
Accept: application/jsonCreate a collection and open it in the TUI:
noodle collection create my-api
noodle request create users/get \
--url https://api.example.com/users/42 \
--collection ./my-api
noodle --collection ./my-apiThe whole exchange, without leaving the terminal
Compose URLs, parameters, headers, authentication, and bodies from a keyboard-first workspace. Send the request, then inspect the body, headers, cookies, status, timing, and network timeline in the same place.
Noodle supports JSON and XML bodies, JSONPath filtering, redirects, proxies, TLS, mTLS, and request authentication including OAuth 1.0a and OAuth 2.0.
Environment-aware without leaking secrets
Switch between development, staging, and production variables. Secret declarations stay in the file while values live in the operating system credential vault or process environment.
Sensitive values are kept out of environment files, request history, generated code, search results, and exports.
One collection, more than one way to work
Explore interactively in the TUI, run requests from the CLI, automate collection checks, or give coding agents the supported Noodle skill.
noodle request run users/get --collection ./my-api --env staging
noodle collection audit ./my-api --json
noodle collection run ./my-api --json
noodle agent installCommands support structured JSON output for scripts, CI, and agent workflows.
Bring your existing work
Import OpenAPI 3.0, Swagger 2.0, Postman, or Insomnia collections. Export to OpenAPI or Postman when another tool needs the same requests.
noodle import ./specs/api.yaml --output ./collectionsLearn more
Contributing
Noodle is built with Bun, TypeScript, React, and OpenTUI.
bun install
bun run dev -- --collection ./collections --env developmentSee AGENTS.md for the architecture, conventions, and test commands.
Apache-2.0 licensed.