Evans

What Evans is
Evans is a free client for inspecting gRPC APIs manually and using them in scripts. It runs on Linux, macOS, and Windows, with an interactive REPL and a stateless command-line mode. The REPL completes package, service, and RPC names; the CLI reads input from standard input or files and returns JSON-formatted results. If a server exposes reflection, Evans can use it in place of proto files. It handles client, server, and bidirectional streaming RPCs. For standard gRPC connections, the documented `--tls` option connects to servers requiring secure TLS; gRPC-Web is also supported, but not with TLS. The listed IDL and codec is Protocol Buffers 3, and the listed compressor is GZIP. Installation choices are GitHub Releases, Homebrew, Docker, or Go; Releases and Homebrew are recommended for automatic updates. Go installation requires Go v1.20 or later. The repeat option excludes client-streaming and bidirectional-streaming RPCs. Evans is self-hosted and licensed under MIT.
Who it suits
Evans suits developers who need to inspect gRPC APIs interactively or call them from scripts. It can be useful when server reflection is available or when working from proto files.
What it does well
- REPL completes package, service, and RPC names.
- CLI accepts standard input or files and outputs JSON.
- Supports three gRPC streaming patterns.
- Uses reflection instead of proto files when enabled.
- Free, MIT-licensed, and available on three desktop platforms.
What to know first
- gRPC-Web does not support TLS.
- Repeat excludes client and bidirectional streaming RPCs.
- Go installation requires Go v1.20 or later.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| Evans | Open-source gRPC client | Free |
As github.com lists them, read 3 Oct 2026. The maker's own page has the final word.
Getting started
- Open the Evans project website on GitHub.
- Choose an installation route: GitHub Releases, Homebrew, Docker, or Go.
- For automatic updates, use GitHub Releases or Homebrew.
- If installing through Go, use Go v1.20 or later.
- Connect to a server using reflection when enabled, or use proto files. For secure ordinary gRPC connections, the project documents the `--tls` option.
Verdict
Evans offers both interactive API inspection and scriptable CLI use, including streaming support. Check the gRPC-Web TLS and repeat-option limits against your workflow.
Questions
How much does Evans cost?
The listed Evans plan is free.
Which operating systems does Evans support?
Evans is available for Linux, macOS, and Windows.
Does Evans support gRPC reflection and streaming?
It can use server reflection when enabled and supports client-streaming, server-streaming, and bidirectional-streaming RPCs.
Does Evans support gRPC-Web with TLS?
Evans supports gRPC-Web, but TLS is not supported for gRPC-Web.
What installation options are available?
The project documents GitHub Releases, Homebrew, Docker, and Go installation. Releases or Homebrew are recommended for automatic updates; the documented Go installation requires Go v1.20 or later.
What license does Evans use?
The repository identifies the license as MIT.
Facts from Evans's own pages
- CLI mode
- Its stateless CLI accepts input from standard input or files and prints JSON formatted results. · github.com, 3 Oct 2026
- gRPC-Web
- Evans supports gRPC-Web, but TLS is currently not supported for gRPC-Web. · github.com, 3 Oct 2026
- Install options
- The project documents GitHub Releases, Homebrew, Docker, and Go installation; it recommends Releases or Homebrew for automatic updates. · github.com, 3 Oct 2026
- License
- The repository identifies its license as MIT. · github.com, 3 Oct 2026
- Notable limitation
- The repeat option does not support client-streaming or bidirectional-streaming RPCs. · github.com, 3 Oct 2026
- Protocols
- The listed supported IDL and codec is Protocol Buffers 3, and the listed compressor is GZIP. · github.com, 3 Oct 2026
- Purpose
- Evans is a universal gRPC client for manual API inspection and scripting. · github.com, 3 Oct 2026
- Reflection
- When the gRPC server has reflection enabled, Evans can use reflection instead of proto files. · github.com, 3 Oct 2026
- REPL mode
- Its interactive REPL provides completion for package, service, and RPC names. · github.com, 3 Oct 2026
- Runtime requirement
- The documented Go installation requires Go v1.20 or later. · github.com, 3 Oct 2026
- Streaming
- Evans supports client streaming, server streaming, and bidirectional streaming RPCs. · github.com, 3 Oct 2026
- Transport security
- The README shows connecting to servers that require secure TLS connections using the --tls option. · github.com, 3 Oct 2026
Where Evans stands on Freedom251
- gRPC Tools#2 of 24