noodle-rest/noodle
noodle-rest/noodle has 402 GitHub stars and 8 forks. GitHot measured -1 in 7 days. Last checked 2026-11-10 05:07 UTC. Last push 2026-11-09.
A REST Client where the Repository is the Workspace
What you can do
- 📁 File-based collections: Keep requests in YAML, organize them into folders, and version them with Git.
- ✏️ Request editor: Edit URLs, parameters, headers, JSON, XML, forms, and file uploads in the terminal.
- 🔍 Response inspection: Explore JSON and XML in Source or Visual views, filter JSON with JSONPath, and inspect headers and network traces.
- 📥 Images and downloads: Preview supported images, save response files, and open them in their default app.
Measured star growth
- in 24h
- Update delayed
- in 7 days
- -1
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalNoodle
The repository is the workspace
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.
Get started · Website · Docs · Changelog · Security · Sponsor

Install
Install from Homebrew core:
brew install noodle
Or use the standalone installer:
curl -LsSf https://noodlerest.dev/install.sh | sh
Prebuilt binaries support macOS and Linux (glibc) on arm64 and x86_64, plus Windows x64 in beta. See installation options for Homebrew and source builds.
Run noodle agent install after a brew upgrade to refresh an installed skill. If you used wilfredinni/noodle,
follow the tap migration instructions.
Windows x64 (beta)
Windows x64 binaries are included from v0.9.7. Install from PowerShell:
irm https://noodlerest.dev/install.ps1 | iex
The installer verifies the release checksum, installs to
%LOCALAPPDATA%\Programs\Noodle\noodle.exe, and updates your user PATH.
Windows executables are unsigned; browser downloads may trigger Windows trust
prompts. Ordinary-account and interactive terminal testing remains pending.
The v0.10.1 Defender report
remains unresolved; it is not a confirmed false positive or evidence about every
later build. See the Windows support statement.
For prerelease testing, manually dispatched CI runs provide a Windows beta ZIP
containing noodle.exe, checksums, and build information.
GitHub Actions
After checking out your collection, install Noodle and run it in a separate step:
- uses: noodle-rest/setup-noodle@v1
with:
version: v0.10.4
- run: noodle collection run ./api --reporter junit --output results.xml
@v1 selects the setup action. The required version selects the exact Noodle
CLI release. The action verifies the binary's SHA-256 checksum before adding it
to the runner's PATH. See setup-noodle
and the CI workflow with report upload.
Quick start
Follow the quick start guide to create a collection, send your first request, and inspect the response.
Features
- 📁 File-based collections: Keep requests in YAML, organize them into folders, and version them with Git.
- ✏️ Request editor: Edit URLs, parameters, headers, JSON, XML, forms, and file uploads in the terminal.
- 🔍 Response inspection: Explore JSON and XML in Source or Visual views, filter JSON with JSONPath, and inspect headers and network traces.
- 📥 Images and downloads: Preview supported images, save response files, and open them in their default app.
- 🗝️ Environments and secrets: Switch between environments, reuse variables, and store secrets in the OS vault.
- 🔐 Authentication: Use bearer tokens, basic auth, API keys, OAuth 1.0a, OAuth 2.0, NTLMv2, and AWS SigV4.
- 🛡️ Proxies and TLS: Configure proxy policies, custom certificate authorities, and mutual TLS.
- 🧪 Response assertions: Check status, timing, headers, and JSON values in the TUI or CI.
- ✅ Scripted tests: Check responses with synchronous or async tests, JSON Schema draft-07, property, length, type, and partial-object matchers.
- 🎯 Response captures: Pass response values to later requests or save them to an environment or secret.
- 📜 Scripting: Prepare requests and process responses with sandboxed JavaScript. Share inline scripts or external JavaScript files across collections and folders. Pre scripts, post scripts, and tests each run collection → folders → request, so request-specific successful writes override inherited values. Author Pre Script, Post Script, and Tests in the TUI with completion, diagnostics, folding, and formatting; browse logs in Console.
- 🎲 Body templates:
Generate test data and timestamps with
$randomand$timeplaceholders. - ⚡ Collection runner and automation:
Run requests or folders with tag filters, fail-fast behavior, delays, CSV/JSON
iteration data, and JSON results. Save collection reports with
--json --output results.jsonor--reporter junit --output results.xml. See the automation contract and CI example. Optional saved setup and teardown requests surround each run or data row; configure them in Collection Settings > General. Empty selections send nothing, and cancellation skips teardown. Interrupt CLI collection runs with Ctrl+C to retain completed results and inspect what was cancelled or never started. In the TUI, inspect completed Results and Console while later requests run; presssor click Stop to cancel, and use F5 to return after browsing elsewhere. Try the local data-run example. - 🕘 Response history and cookies: Revisit past responses and manage a cookie jar for each collection.
- 🎨 Themes and keybindings: Follow your terminal palette or choose a theme, and customize your shortcuts.
- 🔄 Import and export: Bring OpenAPI, Swagger, Postman, and Insomnia collections into Noodle; preserve compatible Postman and Insomnia scripts without translating foreign APIs. Imports that retain scripts or tests require a new collection. Export to OpenAPI or Postman.
- 🤖 AI agent skills:
Install the Noodle skill with
noodle agent installso coding agents can create, maintain, and run collections.
Documentation
- All guides and references
- CLI commands
- Collection format
- Script scopes and inheritance
- External JavaScript files
- Script cookbook
- Changelog
Contributing
Noodle is built with Bun, TypeScript, React, and OpenTUI.
bun install
bun run dev
This starts the local HTTP, HTTPS, authentication, and proxy services and opens
the development collection in dev/collection/. Run bun run dev:server for
services alone, or bun run dev:check to validate the local scenarios. See the
development guide for suites and fixture credentials.
See AGENTS.md for the architecture, conventions, and test commands.
Sponsor
Noodle is free and open source. If it saves you time, you can sponsor its continued development. Sponsorship supports maintenance, bug fixes, documentation, and platform testing.
License
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
561,833 starspublic-apis/public-apis
A collective list of free APIs
498,193 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
452,380 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,360 stars