v0.1.6
Documentation
Home GitHub
Getting Started

Introduction to Flux

Flux is a local-first, AI-powered desktop API client built on Tauri 2.0 and React 18. It stores everything on disk, uses under 30 MB RAM, and ships zero Electron. Collections are plain YAML you can commit to Git.

Quick Start
Send your first request in under 60 seconds.
Installation
Download and install Flux on Windows, macOS, or Linux.
Collections
Organize requests in YAML collections and share them via Git.
AI Features
Generate tests, debug errors, and autocomplete with Claude.

Why Flux?

Feature Flux Others
Memory usage ~28 MB 200–400 MB (Electron)
Storage format Plain YAML, Git-friendly Proprietary JSON / cloud-only
AI integration BYOK, your key, your data Subscription or none
gRPC support Proto files + server reflection Varies
Offline first Fully offline Requires cloud sync
Protocols HTTP, gRPC, WebSocket, SSE Usually HTTP only
BYOK, Bring Your Own Key
Flux never stores your Claude API key on any server. It lives only on your device and is sent directly to Anthropic when you use AI features.

Tech stack

  • Frontend: React 18, TypeScript, Vite, Tailwind CSS v4, Zustand, Radix UI
  • Backend: Rust + Tauri 2.0, reqwest (HTTP engine), rusqlite (history)
  • Code editor: Monaco Editor with local workers, no CDN dependency
  • AI: Anthropic Claude API (BYOK), Sonnet, Opus, Haiku selectable
Getting Started

Installation

Flux ships as a single native binary, no runtime, no Electron, no Node.js required on the host machine.

Download

Go to the latest release on GitHub and download the installer for your platform.

Platform File Notes
Windows Flux_x64-setup.exe x64 NSIS installer
macOS (Apple Silicon) Flux_aarch64.dmg M1/M2/M3
macOS (Intel) Flux_x64.dmg Intel Macs
Linux Flux_amd64.deb Debian/Ubuntu
macOS Gatekeeper
If macOS blocks the app, go to System Settings → Privacy & Security and click "Open Anyway" after the first failed launch.

Account

A free account is required to sync collections. Sign up with your email or with GitHub OAuth directly inside the app on first launch. No credit card needed.

System requirements

  • Windows: Windows 10 / 11 (x64)
  • macOS: 11.0+ (Big Sur or later)
  • Linux: Ubuntu 20.04+ or equivalent (GTK 3 required)
  • RAM: 30 MB typical, 60 MB peak
  • Disk: ~9 MB installer
Getting Started

Quick Start

Send your first request and save it to a collection in under two minutes.

1
Open the Request Builder
Click the Requests icon (top of the NavRail on the left). The main panel shows the URL bar, method selector, and tab strip.
2
Enter a URL and hit Send
Type https://jsonplaceholder.typicode.com/todos/1, select GET, then press Enter or click Send. The Response Panel on the right fills with the JSON response.
3
Save to a collection
Press the Save button (top-right of the request panel). Choose an existing collection or create a new one by typing a name. The request is saved as a YAML file on disk.
4
Generate tests with AI
After a response arrives, click Generate Tests in the Response Panel. Flux sends the response shape to Claude and inserts ready-to-run JavaScript tests in the Tests tab.
Command Palette
Press Ctrl + K to open the Command Palette. It searches across all collections and history in real time.
Request Builder

URL Bar & Method

The URL bar is the primary entry point for every request. It supports environment variable interpolation, a method picker, and a one-click Send button.

Method selector

Click the method badge to the left of the URL field. Supported methods:

GETPOSTPUT PATCHDELETEHEAD OPTIONS

Environment interpolation

Use {{variableName}} syntax anywhere in the URL. Active environment variables and global variables are resolved at send time.

https://{{baseUrl}}/api/users/{{userId}}

Keyboard shortcuts

Action Shortcut
Send request Enter (while URL focused)
Command palette Ctrl + K
New request tab Ctrl + T
Close tab Ctrl + W
Format body Shift + Alt + F
Toggle sidebar Ctrl + B
Go to History Ctrl + H
Go to Collections Ctrl + L
Go to Environments Ctrl + E
Request Builder

Params

Query parameters are managed in the Params tab. They are appended to the URL automatically.

Adding parameters

Click + Add param and fill in a key and value. Toggle the checkbox to include or exclude a parameter without deleting it. The URL bar updates live as you type.

Bulk edit

Switch to Bulk Edit mode to paste a raw query string directly:

page=1&limit=20&sort=createdAt&order=desc
Environment variables in params
Values support {{variable}} interpolation just like the URL field.
Request Builder

Headers

Add, remove, and toggle HTTP request headers. Smart autocomplete surfaces common header names and values as you type.

Common headers

Header Example value
Content-Type application/json
Authorization Bearer {{accessToken}}
Accept application/json
X-Request-ID {{$uuid}}

Header inheritance

Headers defined at the collection or folder level are automatically merged into every child request. A request-level header with the same name takes precedence.

AI smart autocomplete
When Smart Autocomplete is enabled in Settings → AI, Flux suggests header names and values based on your API context using Claude.
Request Builder

Auth

The Auth tab provides structured authentication configuration so you never have to manually compose Authorization headers.

Auth types

Type Description
None No authentication header added.
Bearer Token Adds Authorization: Bearer <token>. Supports {{variables}}.
Basic Auth Encodes username and password as Base64 in the Authorization header.
API Key Injects a key-value pair into headers or query params.
OAuth 2.0 Client credentials, authorization code, and password grant flows.
AWS Sig v4 Signs the request with AWS credentials for SigV4-protected services.
Store tokens in environments
Set your token as an environment variable (e.g., accessToken) and reference it as {{accessToken}} in the Bearer field. Switching environments automatically swaps the token.
Request Builder

Body

The Body tab opens when the selected method supports a request payload (POST, PUT, PATCH, etc.). Monaco Editor powers all text-based body types.

Body types

JSON Form URL-encoded Multipart Form XML GraphQL Binary Raw text

JSON

Full Monaco Editor with syntax highlighting, error detection, and inline linting. Press Shift + Alt + F to auto-format.

"name": "Alice",
"age":  30,
"admin": false

GraphQL

Split view with a Query editor and a Variables editor side by side. Both use Monaco with GraphQL language support.

query GetUser($id: ID!) {
  user(id: $id) {
    name
    email
  }
}

Form URL-encoded

Key-value table editor, identical to the Params tab. Encoded as application/x-www-form-urlencoded.

Multipart Form

Supports text fields and file uploads. Each part can be individually named and typed.

Binary

Upload any file from disk. The Content-Type header is inferred from the file extension.

AI body editing
Right-click inside the JSON body editor and select Edit with AI. Describe the change in plain English and Claude rewrites the body for you.
Request Builder

Pre-request Script

JavaScript that runs before each request is sent. Use it to compute dynamic values, set variables, or conditionally modify the request.

Available globals

Object Description
flux.request The current request object. Mutate headers, URL, body, params.
flux.env Read/write environment variables: flux.env.set("token", val)
flux.globals Read/write global variables.
fetch Standard Fetch API, call external endpoints to retrieve tokens.
console.log Output appears in the Console tab of the Response Panel.
CryptoJS Common hashing and encoding utilities.

Example, dynamic HMAC signature

const body    = flux.request.body.raw;
const secret  = flux.env.get("apiSecret");
const sig     = CryptoJS.HmacSHA256(body, secret).toString();
flux.request.headers.set("X-Signature", sig);
Request Builder

Post-response Script

JavaScript that runs after a response is received. Ideal for extracting values from responses and writing them to environment variables for use in subsequent requests.

Available globals

Object Description
flux.response The full response: .status, .headers, .body (parsed JSON or raw text)
flux.env Write extracted values back to the environment
flux.test() Programmatic test assertion (same as the Tests tab)
console.log Output to Console tab

Example, extract JWT after login

const data = flux.response.body;
if (data?.token) {
  flux.env.set("accessToken", data.token);
  console.log("Token saved:", data.token.slice(0, 20) + "...");
}
Request Builder

Extract

The Extract tab provides a no-code UI for pulling values from a response body and storing them in environment variables, no scripting required.

How it works

1
Define an extraction rule
Click + Add extraction. Choose the source type: JSON path, Header, or Cookie.
2
Enter the path
For JSON: use dot notation like data.user.id or bracket syntax items[0].id.
3
Name the target variable
The extracted value is written to the active environment under this name after each successful response.
Response Panel

Response Panel

The Response Panel occupies the right third of the main screen and shows everything Flux receives back from the server.

Status bar

At the top of the panel, three numbers are always visible after a request completes:

Metric Description
Status HTTP status code with color indicator, green (2xx), amber (3xx/4xx), red (5xx)
Time Total round-trip time in ms or seconds
Size Response body size in bytes / KB / MB

Tabs

Body Headers Cookies Tests Timeline Console
Response Panel

Body

The Body tab renders the response payload with automatic format detection and syntax highlighting.

View modes

Mode Description
Pretty Auto-formatted JSON, XML, or HTML with Monaco syntax highlighting. Read-only.
Raw Unformatted response bytes as-is.
Preview HTML responses rendered in an isolated webview.
Binary Hex dump for binary content types (images, PDFs, etc.).

Copy & Save

Click Copy to put the entire body on your clipboard. Click Save to file to write it to disk, useful for binary responses like file downloads.

Generate Tests from this response
Click Generate Tests (visible below the body when AI is configured). Claude analyzes the response shape and writes assertions that are immediately saved to the Tests tab.
Response Panel

Headers & Cookies

Inspect every header and cookie the server returned, with one-click copy for any value.

Headers tab

All response headers are shown in a searchable table. Click any row to copy the value. Common headers like Content-Type, Cache-Control, and X-Request-Id are highlighted.

Cookies tab

Cookies set by the response (via Set-Cookie) appear here with all attributes: name, value, domain, path, expiry, Secure, and HttpOnly. They are automatically stored in the Cookie Jar for subsequent requests.

Response Panel

Tests

Write and run JavaScript assertions against every response. Tests run automatically after each request and show pass / fail indicators inline.

Writing tests

flux.test("Status is 200", () => {
  expect(flux.response.status).toBe(200);
});

flux.test("Body has id", () => {
  const body = flux.response.body;
  expect(body).toHaveProperty("id");
  expect(typeof body.id).toBe("number");
});

flux.test("Response time under 500ms", () => {
  expect(flux.response.responseTime).toBeLessThan(500);
});

AI-generated tests

Click Generate Tests in the Body tab. Flux sends the response schema to Claude, which returns a full set of meaningful assertions. The generated code is placed directly in this editor, ready to run.

Test suite integration

Tests saved per-request are also visible and runnable from the Collection Runner and from the Tests screen in the NavRail.

Response Panel

Timeline

A waterfall view of the request lifecycle, broken into phases so you can identify exactly where time is spent.

Phases

Phase Description
DNS Lookup Time to resolve the hostname to an IP address
TCP Connect Time to establish the TCP connection
TLS Handshake Time to negotiate TLS (HTTPS only)
Time to First Byte Time from sending the request to receiving the first byte of the response
Download Time to receive the full response body
Total Sum of all phases
Response Panel

Console

All console.log calls from Pre-request and Post-response scripts appear here, along with any script errors.

Log levels

Method Color
console.log() White, general output
console.info() Blue, informational
console.warn() Amber, warnings
console.error() Red, errors

Script errors (syntax, runtime, uncaught exceptions) are always shown in red with a stack trace.

Core Features

Collections

Collections are folders of requests stored as plain YAML on disk. Every collection maps directly to a directory tree, commit them to Git and collaborate without any Flux-specific tooling.

Collection structure

my-api/
  flux.yml            # collection metadata
  auth/
    login.yml
    refresh.yml
  users/
    list-users.yml
    create-user.yml

Request YAML schema

name: Create User
method: POST
url: {{baseUrl}}/api/users
headers:
  Content-Type: application/json
  Authorization: Bearer {{accessToken}}
body:
  mode: json
  raw: '{"name":"Alice","email":"alice@example.com"}'
kind: http

Mixed HTTP and gRPC collections

Collections support both HTTP and gRPC requests in the same folder. gRPC requests include an extra kind: grpc field and a grpc: block. Clicking a gRPC request in the sidebar automatically navigates to the gRPC screen.

Collection Runner

Select a collection in the sidebar and click Run Collection. The runner executes all requests in sequence, shows pass/fail for each test, and produces a summary report. Currently supports HTTP requests, gRPC runner is on the roadmap.

Import

Flux can import collections from Postman v2.1 and OpenAPI 3.0. Go to File → Import or drag a file onto the sidebar.

GitHub Sync
Collections can be automatically pushed and pulled from a GitHub repository. See GitHub Sync for setup.
Core Features

Environments

Environments hold key-value variable sets that are injected into requests at send time. Switch between environments instantly without editing any request.

Variable scopes

Scope Description Precedence
Global Available in all environments and all collections Lowest
Environment Active only when the environment is selected in the top bar Middle
Script (runtime) Set via flux.env.set() during pre/post scripts, not persisted Highest

Creating an environment

1
Open the Environments screen
Click the Environments icon in the NavRail, or press Ctrl + E.
2
Click + New Environment
Give it a name like Production, Staging, or Local.
3
Add variables
Add baseUrl, accessToken, and any other variables specific to that environment.
4
Select it in the top bar
Use the environment dropdown in the TopBar to activate any environment for all requests.

Secret variables

Mark a variable as Secret (lock icon) to mask its value in the UI. Secret variables are stored in the OS keychain and excluded from exports and GitHub sync.

Core Features

History

Flux persists every request you send to a local SQLite database. The History screen lets you browse, search, replay, and export your request history.

Searching history

Use the search bar at the top to filter by URL, method, or status code. The search is instant and works fully offline.

Replaying a request

Click any history entry to load its full request (URL, method, headers, body) back into the Request Builder. Click Replay to send it again immediately.

Exporting history

Click Export to download your full request history as a JSON file. Useful for auditing, sharing, or importing into analytics tools.

Clearing history

Click Clear History in the Settings → Data & Privacy section or from the History screen's overflow menu. This action is irreversible.

History is local only
Request history is stored exclusively in a local SQLite file on your machine. It is never uploaded to any server, even with GitHub Sync enabled.
Core Features

AI Features

Flux integrates Claude (Anthropic) to accelerate testing, debugging, and body authoring. All AI features are BYOK, your key is stored locally and sent directly to Anthropic.

Setup

Go to Settings → AI & Claude, paste your API key (starts with sk-ant-), and select a model. That's it.

Available models

Model Best for
claude-sonnet-4-6 Recommended Best balance of speed and quality for all AI features
claude-opus-4-7 Most capable Complex test generation and deeply structured responses
claude-haiku-4-5 Fastest Quick autocomplete and simple debug suggestions

AI features

Test generation

After any successful response, click Generate Tests. Claude analyzes the response schema and generates a complete test suite covering status codes, field types, required keys, and response time. Generated tests appear directly in the Tests tab, ready to run and save.

AI debug assist

When a request fails (4xx/5xx or connection error), the Debug with AI button appears below the status badge. Clicking it sends the request configuration and error to Claude, which returns a plain-English diagnosis and suggested fixes.

Smart autocomplete

With Smart Autocomplete enabled, Flux suggests completions for header names, path segments, and JSON body fields as you type. Suggestions are ranked by frequency and contextual relevance.

Body editing

Right-click inside any Monaco body editor to access Edit with AI. Type a natural language instruction (e.g., "add a nested address object" or "convert this array to paginated format") and Claude rewrites the body in place.

Usage tracking
Settings → AI & Claude shows your cumulative token usage. The meter is informational only, Flux does not enforce a limit.
Core Features

GitHub Sync

Connect a GitHub repository to push and pull collections automatically. Teams use this to share a single source of truth for API requests without any proprietary cloud backend.

Connecting a repository

1
Go to Settings → GitHub
Or navigate directly to the GitHub screen via the NavRail.
2
Authorize GitHub OAuth
Flux opens a browser window for GitHub OAuth. Grant the minimum required permissions (repo read/write).
3
Select a repository and branch
Choose an existing repository or create a new one. Optionally specify a sub-folder where Flux collections live.
4
Pull or Push
Click Pull to download the latest collections from GitHub, or Push to upload local changes.

Auto-sync

Enable Auto-sync on launch to pull the latest version from GitHub every time Flux starts. Changes you make locally are queued and pushed when you click Sync.

Secret variables are not synced
Variables marked as Secret are excluded from GitHub Sync. Never commit credentials to a repository.
Protocols

gRPC

Flux has a dedicated gRPC screen with support for proto files, server reflection, unary invocations, metadata, and a persistent proto library.

Getting started

Click the gRPC icon in the NavRail (grid of squares). The screen is split into a left panel (service browser) and a right panel (invocation and response).

Loading a proto

Import .proto file Server reflection

Import .proto file

Click Import Proto and select a .proto file from disk. Flux compiles it into a FileDescriptorSet using the embedded protoc and lists all services and methods in the left panel.

Server reflection

Enter the server address and click Reflect. If the server exposes the gRPC Reflection API, Flux fetches all service descriptors automatically, no proto file needed.

Proto Library

Click the Bookmark icon next to a loaded proto to save it to the Proto Library. Saved protos persist on disk across sessions in {app_data}/protos/ and appear in the Library section at the bottom of the left panel. Click any saved proto to reload it instantly.

Invoking a method

1
Select a service and method
Click any method in the left panel. The payload editor auto-populates with a scaffold based on the proto message definition.
2
Edit the payload (JSON)
Modify the JSON payload in the Monaco editor. Flux converts it to the protobuf binary format before sending.
3
Add metadata (optional)
Metadata (gRPC equivalent of HTTP headers) can be added in the Metadata tab as key-value pairs.
4
Click Invoke
The response message appears in the right panel, formatted as JSON. Error codes and trailers are displayed separately.

Stream types

Type Status
Unary Available
Server streaming Roadmap
Client streaming Roadmap
Bidirectional streaming Roadmap

Saving to a collection

Click Save to Collection in the top-right of the gRPC screen. The request is saved as a YAML entry with kind: grpc. Clicking it in the Collections sidebar navigates back to the gRPC screen with the request loaded.

Protocols

WebSocket

The WebSocket screen lets you open persistent bidirectional connections and send and receive messages in real time.

Connecting

1
Enter the WebSocket URL
Use a ws:// or wss:// URL. Environment variables are interpolated: wss://{{wsHost}}/events.
2
Add headers (optional)
Connection-phase headers like Authorization are sent during the HTTP upgrade handshake.
3
Click Connect
The status badge turns green and the message log becomes active.

Message log

All sent and received messages appear in a scrollable log. Received messages are shown with a left indicator; sent messages with a right indicator. Each entry shows timestamp, direction, and byte count.

Sending messages

Type a message (plain text or JSON) in the composer at the bottom and press Enter or click Send. Click Disconnect to close the connection.

Connection stays alive while navigating
Switching to another screen does not close the WebSocket connection. Return to the WebSocket screen to see new messages that arrived while you were away.
Protocols

Server-Sent Events

The SSE screen connects to event streams and displays each event in real time, useful for monitoring push notifications, live data feeds, and AI streaming endpoints.

Connecting

Enter an http:// or https:// URL that returns text/event-stream, add any required headers (e.g., Authorization), and click Connect.

Event log

Each SSE event appears as a row in the log showing its event type, id, and data. The data field is auto-formatted if it contains JSON.

Filtering

Use the event type filter to show only specific event types (e.g., only update events, ignoring ping events).

Export

Click Export to download all received events as a newline-delimited JSON file for offline analysis.

Tools

Load Test

Fire a configurable number of concurrent requests against any endpoint and see latency distribution, throughput, and error rates in real time.

Configuration

Parameter Description Default
Total requests Total number of requests to send 100
Concurrency Number of requests in flight simultaneously 10
Timeout Per-request timeout in milliseconds 5000
Method HTTP method to use From active request
URL Target URL (environment variables resolved) From active request

Results

After the run completes, Flux shows:

  • Throughput, requests per second
  • Success rate, percentage of 2xx responses
  • P50 / P95 / P99 latency, percentile breakdown
  • Latency histogram, bucketed bar chart (<50ms, 50–100ms, 100–250ms, 250–500ms, 500ms–1s, >1s)
  • Error count, total failed requests with status codes
Respect rate limits
Always get permission before load testing a production endpoint. Flux does not add any throttling beyond the concurrency setting you configure.
Tools

Mock Server

Run a local HTTP server that returns predefined responses, ideal for frontend development when the real API is unavailable or not yet built.

Creating a mock route

1
Click + New Route
Specify the HTTP method, path (e.g., GET /api/users), and status code.
2
Define the response body
Enter JSON (or any other content type) in the body editor. Supports dynamic values like {{$uuid}} and {{$timestamp}}.
3
Start the server
Click Start. The mock listens on http://localhost:<port> (port configurable, default 3001).

Response configuration

Option Description
Status code Any valid HTTP status (200, 201, 400, 404, 500, …)
Response headers Custom headers returned with the mock response
Delay Artificial latency in ms to simulate slow APIs
Body Static JSON, XML, plain text, or dynamic templates

Request log

Every request the mock server receives appears in the log panel with timestamp, method, path, and matched route. Unmatched requests return 404 and are logged in red.

Tools

Compare

Send the same request against multiple environments simultaneously and compare the responses side by side.

How it works

1
Enter a URL
Type the request URL in the top bar. Use {{baseUrl}} to reference the base URL of each environment.
2
Select environments
Toggle the environment pills below the URL bar. Each selected environment gets its own response column.
3
Click Compare
Flux fires one request per selected environment in parallel. Columns fill with status, latency, and body as each response arrives.

Use cases

  • Regression check: Verify that staging and production return identical responses after a deploy
  • Migration validation: Compare old and new API versions endpoint by endpoint
  • Multi-region testing: Hit us-east, eu-west, and ap-south in one shot
Tools

CLI

The Flux CLI lets you run collections, single requests, and tests from the terminal, ideal for CI/CD pipelines.

Installation

The CLI is bundled with the desktop app. After installing Flux, add it to your PATH from Settings → CLI Tools → Add to PATH.

Commands

# Run an entire collection
flux run ./my-api --env production

# Run a single request file
flux run ./my-api/users/create-user.yml --env staging

# Run and output results as JSON (CI-friendly)
flux run ./my-api --env production --reporter json > results.json

# List all collections
flux collections list

Exit codes

Code Meaning
0 All requests succeeded and all tests passed
1 One or more tests failed
2 One or more requests failed to connect
3 Configuration error (missing env, bad path, etc.)
Environment files in CI
Use --env-file .env.ci to load environment variables from a .env file. Secret variables can be injected via OS environment variables: any FLUX_VAR_* env var is automatically mapped.
Settings

All Settings

Open Settings from the gear icon in the NavRail (or Ctrl + ,). Settings are organized into sections accessible from the sidebar.

General

Setting Description Default
Default Timeout Time in ms before a request is cancelled 30000
Follow Redirects Automatically follow HTTP 3xx redirects On
SSL Verification Verify SSL certificates (disable only for local dev) On

AI & Claude

Setting Description
Claude API Key Your Anthropic API key, stored locally, never sent to Flux servers
Model claude-sonnet-4-6 (recommended), claude-opus-4-7, claude-haiku-4-5
Auto-generate tests Show "Generate Tests" button after each response
AI debug assist Show "Debug with AI" button on failed requests
Smart autocomplete Autocomplete headers, paths, and body fields using AI

Appearance

Choose between Dark (default), Light, and System themes. The accent color is always Flux Purple (#A855F7).

Keyboard Shortcuts

Action Shortcut
Send request Ctrl + Enter
Command Palette Ctrl + K
New request tab Ctrl + T
Close tab Ctrl + W
Format body Shift + Alt + F
Toggle sidebar Ctrl + B
Go to History Ctrl + H
Go to Environments Ctrl + E
Go to Collections Ctrl + L
Go to Settings Ctrl + ,
Settings

Proxy & Network

Route Flux traffic through an HTTP or SOCKS5 proxy. Useful for corporate environments, VPNs, or traffic inspection tools like Charles or mitmproxy.

Proxy configuration

Field Description
Proxy URL Full proxy URL, e.g. http://proxy.corp.com:8080 or socks5://127.0.0.1:1080
No Proxy Comma-separated list of hostnames to bypass the proxy (e.g. localhost,127.0.0.1)
Proxy Auth Username and password for authenticated proxies
Inspect traffic with mitmproxy
Set the proxy URL to http://127.0.0.1:8080 and disable SSL verification to inspect all Flux requests through mitmproxy running locally.
Settings

Cookie Jar

Flux maintains a persistent cookie jar. Cookies set by responses are automatically sent with subsequent requests to the same domain.

Viewing cookies

Go to Settings → Cookie Jar to see all stored cookies grouped by domain. Each entry shows name, value, path, expiry, Secure, and HttpOnly flags.

Managing cookies

  • Click the delete icon on any row to remove a single cookie.
  • Click Clear All Cookies to wipe the entire jar.
  • Cookies with an expired Expires date are automatically excluded from requests.

Per-request control

To disable cookie sending for a specific request, add the Cookie header manually with an empty value, or use the Pre-request Script to delete specific cookies before sending.

Settings

Data & Privacy

Flux stores all data locally. This page explains what is stored, where, and how to delete it.

What Flux stores

Data Location Shared?
Collections Selected directory on disk (YAML files) Only via GitHub Sync if enabled
History {app_data}/history.db (SQLite) Never
Settings {app_data}/settings.json Never
Cookies {app_data}/cookies.db (SQLite) Never
Claude API key OS keychain / {app_data}/settings.json (encrypted) Sent only to Anthropic
Proto library {app_data}/protos/ Never

Deleting your data

  • Clear history: Settings → Data & Privacy → Clear History
  • Clear cookies: Settings → Cookie Jar → Clear All Cookies
  • Delete all app data: Uninstall Flux and delete the {app_data}/flux directory

Telemetry

Flux collects anonymous crash reports (via Tauri's built-in crash reporter) to improve stability. No request data, URLs, headers, or response bodies are ever included. You can opt out by toggling Send crash reports in this section.

Your requests stay on your machine
Flux never proxies, logs, or stores request or response data on any Flux server. Every request goes directly from your machine to the target API.