Skip to content
Projects

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.

How these counts are measured

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

Original

Noodle

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

Noodle terminal interface

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 $random and $time placeholders.
  • ⚡ 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.json or --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; press s or 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 install so coding agents can create, maintain, and run collections.

Documentation

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

Apache-2.0.

Explore related projects