Flux
Download for macOS
↑↓ navigate↵ open⇥ switch tabesc close0 results

10:41One incident, played forward

Your logs, read like code.

Flux is an IDE for logs on your Mac — Graylog, Elasticsearch through Kibana, or the log files and containers you already have. Streams and endpoints are a tree you open; each gets its own console, timeline and grid. At 10:41, charges at a shop called acme start failing. This page plays that hour forward. Scroll, or do each step yourself.

Download for macOS

Free and open source · macOS 13 or later · Apple silicon and Intel

10:43Why this stretch?

Why this stretch?

The timeline already shows where. Hold ⌥ and drag across the spike: Flux compares the stretch with the three times as long before it and names what makes it different — the version, the host, the route — before you have written a query. Click a row and the console narrows to it. Drag without ⌥ and the same gesture narrows the range instead.

Hold and drag across the spike, or

Keys

⌥ + drag · click a row to narrow · Esc closes the panel

From the docs

With a project's GitHub repository set, the pull requests merged during the window are drawn on the timeline, so a spike that starts just after one is a question with half its answer. The dashed line is #412, merged at 10:38.

10:44One request, every service

One request, every service

Take the id from the failing line. ⇧⌘I searches it as text in every stream of the connection at once and tells its story oldest first: a lane per stream, a dot per line, the failure in red. Click a dot to read the line. The same ids, logged between your services, draw the service map — no agent, no tracing library, nothing to install on the server.

Press ⇧⌘I or

Keys

⇧⌘I trace · ⇧⌘M map · ← → between dots

From the docs

A request id, a trace id, an order id, a user id or an email — searched as text in every stream of a connection at once. From a row's context menu, Follow this request does the same for the id in that row. Try .

10:46The case

The case

Right-click the line and choose Investigate. Flux gathers the request across services, how often it happened and who else it hit, the line of code that logged it through the project's folder, and the commit that last changed that line. Then it hands the whole case to Claude Code in the terminal — one click.

Right-click the red line and choose Investigate, or

Keys

right-click · Shift+F10 · ⋯ on the row

From the docs

Investigate goes further for one error: the request across services, who else the same failure hit, where in the code the message is logged — through the project's folder — and the commit that last changed that line. The case is Markdown; Copy report puts it on the clipboard.

10:51Handed to the terminal

Handed to the terminal

The case lands in the terminal where Claude Code runs, with a brief: find the cause, fix it on a branch with a test that fails without it, open a draft pull request. While it works, the agent reads your logs back through Flux — Flux is an MCP server with eight tools that read your sources and never write to them, listening on 127.0.0.1 behind a token it makes for you. One line adds it to Claude Code.

  1. 1

    Turn it on — click the MCP icon in the status bar and tick Enable MCP Server.

  2. 2

    Add it to Claude Code —

    claude mcp add --transport http flux http://127.0.0.1:4319/mcp --header "Authorization: Bearer …"
  3. 3

    Ask — claude, then a question.

The run above is made up; the tools and their arguments are real. The agent's reasoning is the agent's, not Flux's. Loopback only, behind a token, and nothing is ever written to a source.

Keys

⌥F12 the terminal · ↑ recalls the last call

From the docs

Tokens are never part of an answer. open_query opens the query in Flux in front of you; save_query leaves one behind, watched, after a deploy.

10:58Keep an eye on it

Keep an eye on it

Save the query, right-click it, Watch for new matches. While Flux is open it asks the query every minute — or the interval you choose — and the island under the notch keeps the score over every app: new matches, a sound if you like, a row you can click. Turn it around with Alert when › Nothing arrives, for a cron or a webhook that goes quiet. And when the fix merges, the island watches the ten minutes after it.

Right-click the saved query, or

A minute on this page is three seconds.

The fix, #418, is reviewed and merged by a person. Flux draws the merge and watches the ten minutes after it.

Keys

right-click a saved query · Shift+F10 · ⋯

From the docs

The island can be muted for an hour, and it asks to be left out of screen sharing. With a project's repository set, the pull requests merged while a query ran are drawn on the timeline, and the island watches the ten minutes after each merge.

The answer is already in your logs. Read it like code.

11:02Where this ran

On your Mac, against your sources.

Flux talks to Graylog, Kibana or your files from your Mac. Nothing you read is sent anywhere, and there is no server of ours between you and your logs. Two things do reach us: a version check at launch and every hour, and — once you sign in — your appearance, keymap, console and grid settings, so they follow you to another Mac.

Settings
Nameacme
Source Graylog
Graylog URLhttps://graylog.acme.io
Access token •••••••••••• Graylog profile › Edit tokens. Kept in this Mac's keychain, never in an export.

A connection's token is kept in this Mac's login keychain, one entry per connection, never in a file Flux writes. It is never synced, exported or put in a link, and signed releases keep the keychain's permission from one update to the next.

Pick something you do in Flux, and read what crosses which line.

Crossed
your query, to graylog.acme.io, with the token it needs
Stayed
the lines you read, rendered on your Mac
Reached us
nothing
Where your data lives
whatwheresyncs?
Connections and their tokensconnections.json, the tokens in your keychain never
Projects, saved queries, historythe settings folder, or a workspace's .flux never
Streams and endpoints already seenthe cache folder never
Window layout, open tabsworkspace.json, this Mac only never
Appearance, keymap, console and grid settingsyour account yes

11:02All clear

All clear. Yours next.

Free and open source, under the Apache License 2.0. One universal build for Apple silicon and Intel, macOS 13 or later, signed with an Apple Developer ID and notarized by Apple: drag it to Applications and open it. Flux updates itself from then on.

Universal · Apple silicon and Intel · macOS 13 or later · Apache 2.0

macOS

13 or later

  • Checks for a new version at launch and every hour
  • Installs with one click and reopens where you left it
  • Signed with a Developer ID and notarized by Apple