freshcrate
Skin:/
Home > MCP Servers > SageFs

SageFs

Sage Mode for F# development โ€” REPL with solution or project loading, Live Testing for FREE, Hot Reload, and session management.

Why this rank:Strong adoptionRecent releaseHealthy release cadence

Description

Sage Mode for F# development โ€” REPL with solution or project loading, Live Testing for FREE, Hot Reload, and session management.

README

SageFs

You save. Tests pass. Browser updates. Under a second.

A live F# engine โ€” hot reload, live testing, AI-native โ€” for every editor, for free.

NuGet.NET 10License: MITTestsSave โ†’ Green

What is SageFs?

SageFs is a live F# development engine. Start it once, connect any editor โ€” VS Code, Neovim, Visual Studio, or the built-in TUI โ€” and get sub-500ms feedback on every save: inline results, live test markers, hot reload, and AI agent access via MCP. It runs as a daemon with isolated session workers, so multiple editors and AI agents can share the same live state simultaneously.

How is SageFs different from Ionide? Ionide provides IntelliSense, diagnostics, and project support through the F# Compiler Service. SageFs adds live execution: eval any expression and see results inline, continuous test feedback on every save, and hot reload that patches your running app. Use both together โ€” Ionide for editing, SageFs for running.

Platforms: Windows, macOS, Linux. Requires .NET 10 SDK.

Status: Active development. Used in production by the author.

Table of Contents

๐Ÿ†• Never written F#? You're in the right place.

Pick your language โ€” each guide maps familiar concepts to F#, with runnable examples that show results the instant you press Alt+Enter.

๐Ÿ Python ยท ๐Ÿ““ Jupyter ยท ๐Ÿ”ท C# ยท โ˜• Java ยท ๐ŸŸจ JS/TS ยท ๐Ÿฆ€ Rust ยท ๐Ÿง˜ F# Koans

Or just dive in: dotnet tool install --global SageFs && sagefs โ€” then open any .fsx file and hit Alt+Enter.


Three Things That Change Everything

โšก Hot Reload โ€” Save and It's Live

Save a .fs file. SageFs reloads it in ~100ms via Harmony runtime patching. No rebuild. No restart. Connected browsers auto-refresh via SSE. Your web app is already showing the new code before your fingers leave the keyboard.

๐Ÿค– AI-Native โ€” Your Agent Can Compile

SageFs exposes a Model Context Protocol server with an affordance-driven state machine and a deliberately small tool surface โ€” AI agents only see tools valid for the current session state, and the core MCP path stays focused on session trust, F# evaluation, exact test execution, and failure explanation. No wasted tokens guessing. Copilot, Claude, and any MCP client can execute F# code, type-check, verify a changed behavior, and run tests against your real project.

๐Ÿ–ฅ๏ธ One Daemon, Every Editor โ€” Simultaneously

Start SageFs once. Connect from VS Code, Neovim, Visual Studio, a terminal TUI, a GPU-rendered Raylib GUI, a web dashboard, or an AI agent. Open them all at the same time โ€” they share the same live session. Switch editors without switching tools.

flowchart TB
    D[SageFs Daemon]

    D --- VS[VS Code]
    D --- NV[Neovim]
    D --- VI[Visual Studio]
    D --- TU[Terminal TUI]
    D --- GU[Raylib GUI]
    D --- WB[Web Dashboard]
    D --- AI[AI Agents]
    D --- JP[Jupyter Kernel]

    style D fill:#1a1b26,stroke:#7aa2f7,stroke-width:2px,color:#c0caf5
    style VS fill:#1a1b26,stroke:#9ece6a,color:#c0caf5
    style NV fill:#1a1b26,stroke:#9ece6a,color:#c0caf5
    style VI fill:#1a1b26,stroke:#9ece6a,color:#c0caf5
    style TU fill:#1a1b26,stroke:#bb9af7,color:#c0caf5
    style GU fill:#1a1b26,stroke:#bb9af7,color:#c0caf5
    style WB fill:#1a1b26,stroke:#7dcfff,color:#c0caf5
    style AI fill:#1a1b26,stroke:#e0af68,color:#c0caf5
    style JP fill:#1a1b26,stroke:#bb9af7,color:#c0caf5
Loading

Get Started

1. Install SageFs (30 seconds)

Prerequisites: .NET 10 SDK. That's it.

dotnet tool install --global SageFs

2. Check your environment (optional)

sagefs check

Validates .NET SDK, FSI, project files, port availability, and daemon state. Actionable hints on every failure. Skip this if you've used SageFs before.

3. Start the daemon

sagefs

SageFs opens an interactive terminal. Then create a session for YourProject.fsproj from your editor, MCP client, or the dashboard.

No project? Just run sagefs with no arguments โ€” the daemon starts bare and waits for clients. Your editor will create sessions on demand.

4. Connect your editor

VS Code โ€” Install the .vsix from Releases for now, open an F# file, press Alt+Enter on any expression. Result appears inline in < 500ms.

Neovim โ€” Add "WillEhrendreich/sagefs.nvim" to your plugin manager. Press Alt+Enter to evaluate. See Neovim setup.

Visual Studio 2022 โ€” Install SageFs from the Visual Studio Marketplace. Press Alt+Enter. The daemon starts automatically.

Terminal only โ€” sagefs tui for the built-in terminal UI (powered by SageTUI Elm Architecture), or sagefs gui for the Raylib GPU window. Use sagefs tui --legacy-tui for the classic imperative renderer.

5. Enable live testing

โš ๏ธ Work in progress โ€” live testing is functional but still being stabilized. You may encounter rough edges, especially around session switching and test discovery timing. We're actively improving it.

When live testing is enabled and a test session is loaded, save-triggered runs can update gutter state automatically. The core engine, SSE events, coverage data, and editor integrations are real today, but client polish and discovery/session behavior are still catching up. Expecto is the best-covered path right now.

6. What you'll see

  • Gutter markers: โœ“ green (passing), โœ— red (failing), โ—‹ gray (no coverage)
  • Inline results: Expression values appear to the right of your code
  • Coverage bars: Colored bars in the gutter show which lines are covered by tests
  • Failure details: Hover over red markers to see Expected vs Actual diffs

๐Ÿ’ก Tip: Use the SageFs: Mark All Tests Stale command (Command Palette) to re-run everything.

MCP (streamable HTTP):  http://localhost:37749/       โ† recommended for new MCP clients
MCP (legacy SSE):       http://localhost:37749/sse    โ† older MCP clients
Dashboard:              http://localhost:37750/dashboard

New to F#? You don't need any F# knowledge to start. Jump to the migration guide for your language โ€” each one maps concepts you already know to F#, with runnable examples.

Build from source
git clone https://github.com/WillEhrendreich/SageFs.git
cd SageFs
dotnet build && dotnet pack SageFs -o nupkg
dotnet tool install --global SageFs --add-source ./nupkg --no-cache

๐Ÿ“š Full Documentation โ€” Guides, deep dives, technical reference, and contributor docs.


Two Workflows: REPL vs Live

๐Ÿ“– Full guide: Understanding Workflow Modes โ€” decision tree, diagrams, real-world scenarios, troubleshooting, and why live testing isn't a third mode.

SageFs sessions run in one of two modes.The tradeoff is a physical constraint of the .NET runtime โ€” not a SageFs limitation.

REPL mode (default) gives you a full interactive F# session. You can redefine types, experiment freely, and iterate on designs. This is what you want when you're prototyping domain types, exploring APIs, or working through a problem interactively.

Live mode enables browser hot reload โ€” save a .fs file and connected browsers update instantly via SSE, with no manual refresh. To make this work, SageFs uses runtime patching to inject code changes into the running app. That patching requires a single-assembly FSI mode, which means you cannot redefine types (you'll get FS0037 errors). Expressions, function bodies, and let bindings work fine.

REPL (default) Live
Type redefinition โœ… Full โ€” redefine types freely โŒ FS0037 โ€” expression-level changes only
Browser hot reload โŒ Manual refresh required โœ… Save โ†’ patch โ†’ SSE push
Live testing โš ๏ธ Available in both โ€” still stabilizing โš ๏ธ Available in both โ€” still stabilizing
Best for Prototyping, domain modeling, exploration Web apps with Falco, Datastar, ASP.NET

Choosing the right mode

  • Building a web app with Falco.Datastar, Giraffe, or any ASP.NET pipeline? Use Live โ€” you want save-and-see-it feedback in the browser.
  • Exploring types, designing domain models, writing tests, or working in .fsx scripts? Use REPL โ€” you need the freedom to reshape types as you go.
  • Not sure? Start with REPL. Switch to Live when you need browser hot reload.

Switching modes

Use your editor's command to switch workflows:

  • Neovim: :SageFsWorkflow live or :SageFsWorkflow repl
  • VS Code: Command Palette โ†’ SageFs: Switch Workflow
  • TUI/GUI: Ctrl+W toggles between modes

When you switch, SageFs creates a new session in the target mode and stops the old one. Any REPL-defined bindings are lost โ€” persisted files are unaffected.

Auto-detection

When SageFs detects web-oriented packages in your project (Falco.Datastar, Giraffe, Saturn, etc.), it suggests switching to Live mode. You can accept or dismiss the suggestion.


Mental Model โ€” How SageFs Works

SageFs has exactly three concepts: a daemon, sessions, and clients.

flowchart TB
    subgraph D[SageFs Daemon - one per machine]
        S1[Session Worker 1 - MyApp]
        S2[Session Worker 2 - Tests]
        S3[Session Worker 3 - Bare FSI]
        SVC[MCP / Dashboard / File Watcher / Hot Reload]
    end

    D --- VS[VS Code]
    D --- NV[Neovim]
    D --- TU[Terminal TUI]
    D --- AI[AI Agent - MCP]

    style D fill:#1a1b26,stroke:#7aa2f7,stroke-width:2px,color:#c0caf5
    style S1 fill:#1a1b26,stroke:#9ece6a,color:#c0caf5
    style S2 fill:#1a1b26,stroke:#9ece6a,color:#c0caf5
    style S3 fill:#1a1b26,stroke:#9ece6a,color:#c0caf5
    style SVC fill:#1a1b26,stroke:#e0af68,color:#c0caf5
    style VS fill:#1a1b26,stroke:#bb9af7,color:#c0caf5
    style NV fill:#1a1b26,stroke:#bb9af7,color:#c0caf5
    style TU fill:#1a1b26,stroke:#bb9af7,color:#c0caf5
    style AI fill:#1a1b26,stroke:#bb9af7,color:#c0caf5
Loading

The daemon is a service. It starts bare โ€” no project, no session. It just listens. Clients tell it what to do.

Sessions are isolated workers. Each session is a separate OS process with its own FSI instance, its own loaded project, its own file watcher. They can't interfere with each other. Create as many as you need.

Clients are thin. Your editor plugin, the TUI, the Jupyter bridge, or an AI agent โ€” they all connect to the same daemon. They create sessions, send code, read results. Multiple clients can share the same session or each use their own.

The workflow:

  1. Start the daemon: sagefs
  2. A client (editor, Jupyter, dashboard, AI) creates a session: POST /api/sessions/create with a project path
  3. The daemon spawns a worker, loads the project, starts watching files
  4. The client sends code, reads diagnostics, runs tests โ€” all through the daemon
  5. Other clients can connect to the same session simultaneously

This means the daemon doesn't need to know your project at startup. It starts bare and waits for clients to create or attach to sessions.


What You Get in Each Editor

Every frontend connects to the same daemon. Open several at once โ€” they all see the same state.

Capability VS Code Neovim Visual Studio TUI Raylib GUI Web AI (MCP)
Eval code / file / block โœ… โœ… โœ… โœ… โœ… โœ… โœ…
Inline results โœ… โœ… โœ… โœ… โœ… โœ… โœ…
Live diagnostics (SSE) โœ… โœ… โœ… โœ… โœ… โœ… โœ…
Hot reload toggle โœ… โœ… โœ… โœ… โœ… โœ… โ€”
Session management โœ… โœ… โœ… โœ… โœ… โœ… โœ…
Code completion โœ… โœ… โœ… โœ… โœ… โœ… โœ…
CodeLens โœ… โœ… โœ… โ€” โ€” โ€” โ€”
Live test gutters โœ… โœ… โœ… โœ… โœ… โ€” โ€”
Coverage gutters โœ… โœ… โœ… โœ… โœ… โ€” โ€”
Failure narratives โœ… โœ… โœ… โœ… โœ… โ€” โœ…
Test source-jump โœ… โœ… โœ… โœ… โœ… โ€” โ€”
Test panel โœ… โœ… โœ… โœ… โœ… โ€” โ€”
Test policy controls โœ… โœ… โœ… โ€” โ€” โ€” โœ…
Type explorer โœ… โœ… โ€” โ€” ยน โ€” โœ…
Call graph โœ… โœ… โ€” โ€” โ€” โ€” โ€”
History browser โœ… โœ… โ€” โœ… โœ… โ€” โ€”
Test trace โœ… โœ… โ€” โ€” โ€” โ€” โœ…

ยน Server-side data ready. Editor UI integration pending (VS SDK limitations or work-in-progress).

Editor setup guides

VS Code

Install from the .vsix in Releases. Written entirely in F# via Fable โ€” no TypeScript.

Current wiring includes Alt+Enter eval, CodeLens, live test decorations, native Test Explorer integration, hot reload sidebar, session context, type explorer, call graph, event history, dashboard webview, status bar, auto-start, Ionide command hijacking, coverage gutter bars, inline failure decorations, failure narrative enrichment, and test source-jump.

Neovim

sagefs.nvim โ€” 59 Lua modules, 1400+ tests, 57 commands.

-- lazy.nvim
{ "WillEhrendreich/sagefs.nvim", ft = { "fsharp" }, opts = { port = 37749, auto_connect = true } }

Features: Cell eval, inline results, gutter signs, SSE live updates, live test panel, coverage panel with per-file breakdown, type explorer, call graph, history browser, session export to .fsx, code completion, branch coverage gutters, filterable test panel, display density presets, combined statusline component, Telescope source-jump (<CR>), failure narrative floating window (<C-d>), and SSE-driven test state caching.

Visual Studio

Install from the Visual Studio Marketplace, or grab the .vsix from Releases. Uses the VisualStudio.Extensibility SDK with F# core logic. Eval, CodeLens, session management, diagnostics, coverage gutter glyphs (CoverageGlyphTagger), test source-jump via TestStateTracker, and inline failure narrative context.

The VS extension includes kill switches for individual features. See the VS Extension README for details.

AI Agent (MCP)

SageFs exposes a small surgical MCP surface โ€” from send_fsharp_code to targeted_verify to run_tests. Any MCP client can connect. See the full MCP Tools Reference for the complete list and per-client config examples.

Streamable HTTP (recommended โ€” auto-reconnects, no session drops):

{ "mcpServers": { "sagefs": { "type": "streamable-http", "url": "http://localhost:37749/" } } }

SSE (legacy clients that don't support Streamable HTTP yet):

{ "mcpServers": { "sagefs": { "type": "sse", "url": "http://localhost:37749/sse" } } }

OpenCode โ€” Add to ~/.opencode.json:

{
  "mcp": {
    "sagefs": {
      "type": "remote",
      "url": "http://localhost:37749/sse",
      "enabled": true
    }
  }
}

TUI / GUI / Web Dashboard / Jupyter

sagefs tui                # SageTUI Elm Architecture terminal UI
sagefs tui --legacy-tui   # Classic imperative CellGrid renderer (fallback)
sagefs gui                # GPU-rendered Raylib window
sagefs --jupyter conn.json  # Run as a Jupyter kernel
# Dashboard auto-starts at http://localhost:37750/dashboard

โŒจ๏ธ Keybindings Across Editors

Action VS Code Visual Studio Neovim
Evaluate selection/cell Alt+Enter Alt+Enter <M-CR>
Evaluate entire file Alt+Shift+Enter Shift+Alt+Enter <leader>rf
Clear inline results Command Palette โ€” <leader>rc
Run all tests Command Palette Command Palette <leader>rT
Toggle test panel Command Palette View โ†’ SageFs Tests :SageFsTestPanel
Jump to test source Click test in explorer โ€” <CR> in telescope
Show failure narrative Hover on red marker Hover on red marker <C-d> in test panel
Mark all stale Command Palette Command Palette <leader>rS
Session picker Command Palette Command Palette <leader>rs

Full keybinding references: VS Code ยท Visual Studio ยท Neovim


๐ŸŽจ Understanding the Gutter Icons

Icon Meaning
โœ“ (green) Test passing โ€” this code is covered by at least one passing test
โœ— (red) Test failing โ€” a test covering this code has failed
โ—‹ (gray) No coverage โ€” no test exercises this line
โ”‚ (green bar) Coverage healthy โ€” all tests covering this line pass
โ”‚ (red bar) Coverage degraded โ€” some tests covering this line are failing
โ”‚ (gray bar) Not covered โ€” no test reaches this line
โŠ˜ Inline failure โ€” shows the test name and Expected/Actual diff

๐Ÿ’ก Hover over any gutter icon for details. In Neovim, press <C-d> on a failing test for the full failure narrative.


The $3,000/year Feature โ€” Free

Visual Studio Enterprise charges ~$250/month per seat for Live Unit Testing. That's $3,000/year per developer. It only works in Visual Studio. It only supports 3 frameworks. It takes 5-30 seconds. It requires your code to compile.

SageFs is building toward that same feedback loop with a REPL-centered architecture. The core live-testing engine is real, but the end-to-end experience is still being stabilized and is not equally polished in every client yet.

VS Enterprise Live Testing SageFs
Speed 5โ€“30 sec (MSBuild rebuild) 300โ€“800ms typical on the current FSI-driven hot path
Broken code โœ— Must compile first โœ“ Tree-sitter works on incomplete code
Editors Visual Studio only VS Code ยท Neovim ยท TUI ยท GUI ยท Visual Studio ยท Web
Frameworks MSTest ยท xUnit ยท NUnit + Expecto ยท TUnit ยท xUnit v3 ยท extensible
Price ~$250/month Free, MIT licensed
Three-speed feedback pipeline โ€” how the sub-second path works
  1. ~50ms โ€” Tree-sitter detects test attributes in broken/incomplete code โ†’ immediate gutter markers
  2. ~350ms โ€” F# Compiler Service type-checks โ†’ dependency graph, reachability annotations
  3. ~500ms โ€” Affected-test execution via hot-eval โ†’ โœ“/โœ— results inline

Tests are auto-categorized (Unit, Integration, Browser, Property, Benchmark, Architecture) with smart run policies โ€” unit and property tests default to auto-run, integration/browser/architecture default to demand, and benchmarks stay disabled until explicitly enabled. All configurable.


Under the Hood

Hot Reload โ€” File changes are detected, sent to FSI via #load, and Harmony patches method pointers at runtime. Connected browsers auto-refresh via SSE. Full details โ†’

Multi-Session โ€” Run multiple isolated F# sessions simultaneously, each in its own worker sub-process with independent FSI, project, and file watcher. Full details โ†’

MCP Tools โ€” 17 focused tools for session trust, code execution, exact test execution, failure explanation, and local friction reporting. Full reference โ†’

SSE Events โ€” All editors receive test_source_locations, file_annotations, and failure_narratives events tagged with SessionId. Full reference โ†’

Architecture โ€” Daemon-first design with isolated worker sub-processes and dual-renderer TUI/Raylib GUI. Full details โ†’

Repository Map โ€” where things live

  • SageFs.Core/ โ€” shared engine and runtime logic: session management, MCP/session operations, live testing, persistence, and shared rendering primitives
  • SageFs/ โ€” CLI entrypoint, daemon host, MCP server, dashboard, worker HTTP transport, SageTUI client, and the legacy terminal renderer
  • SageFs.Gui/ โ€” Raylib GUI frontend
  • SageFs.Tests/ โ€” main Expecto test suite
  • sagefs-vscode/ โ€” VS Code extension (F# via Fable โ†’ JavaScript)
  • sagefs-vs/ โ€” Visual Studio extension workspace
  • docs/ โ€” user docs, architecture notes, troubleshooting, and feature references
  • samples/ โ€” runnable sample apps and language-onramp projects
  • tests/ โ€” Playwright/browser scenarios for dashboard and editor-facing UX flows
  • scripts/ โ€” repo helper scripts and smoke/integration utilities

SageFs.slnx covers the core tool, GUI, tests, and samples. The editor integrations live alongside it in sagefs-vscode/ and sagefs-vs/ because they use their own packaging toolchains and release flows.

The Neovim plugin is not in this repo โ€” it lives in the separate sagefs.nvim repository.

If you're tracing the live testing / "test as you type" stack, start here:

  • Engine, discovery, dependency graph, and coverage: SageFs.Core/Features/LiveTestingExecutors.fs, LiveTestingTypes.fs, CoverageInstrumenter.fs, TestDiscovery.fs, TestTreeSitter.fs
  • Daemon routes, watchers, and SSE emission: SageFs/DaemonMode.fs, SageFs/McpServer.fs, SageFs/McpTools.fs
  • VS Code client wiring: sagefs-vscode/src/Extension.fs, LiveTestingListener.fs, TestControllerAdapter.fs, FileAnnotationsListener.fs
  • Visual Studio client wiring: sagefs-vs/SageFs.VisualStudio.Core/LiveTestingSubscriber.fs, SageFs.VisualStudio.Editor/TestStateTracker.cs, FileAnnotationTracker.cs, CoverageGlyphTagger.cs
  • Neovim client wiring: the separate sagefs.nvim repo
๐Ÿ›ก๏ธ Supervised Mode โ€” crash-proof development
sagefs --supervised

Erlang-style supervisor with exponential backoff (1s โ†’ 2s โ†’ 4s โ†’ max 30s). After 5 consecutive crashes within 5 minutes, it reports the failure. Watchdog state exposed via /api/system/status and shown in the VS Code status bar. Use this when leaving SageFs running all day.

โšก Standby Pool โ€” instant hard resets

SageFs maintains a pool of pre-warmed FSI sessions. Hard resets swap the active session for an already-warm one โ€” near-instant recovery instead of a 30-60 second rebuild.

๐Ÿ’พ Binary Session Persistence โ€” instant resume

SageFs persists session state and test caches to compact binary files (.sagefs v3, .sagetc v1) for near-instant cold starts. No JSON parsing, no database โ€” raw binary with CRC-32C integrity checking.

  • Session files (.sagefs): Full session state โ€” interactions, diagnostics, outputs, eval timeline
  • Test cache files (.sagetc): Test discovery results, outcomes, durations, bitmaps of affected tests
  • Session isolation: Each session writes to its own file, verified by 176 property-based tests including concurrent write safety

Design: length-prefixed strings, section headers with byte-count envelopes, version negotiation, and field-level bounds checking prevent OOM from crafted inputs.

๐Ÿ“‹ CLI Reference
Usage: sagefs [options]                Start daemon (bare by default)
       sagefs --supervised [options]   Start with watchdog auto-restart
       sagefs tui                      Terminal UI (starts daemon if needed)
       sagefs tui --legacy-tui         Terminal UI (imperative fallback)
       sagefs gui                      GPU GUI via Raylib (starts daemon if needed)
       sagefs --jupyter <conn.json>    Run as Jupyter kernel
       sagefs check                    Check environment before first run
       sagefs stop                     Stop running daemon
       sagefs status                   Show daemon info

Daemon options:
  --no-resume            Skip restoring previous sessions on startup
  --no-watch             Disable file watching for all sessions
  --prune                Mark all stale sessions as stopped, then exit
  --supervised           Auto-restart on crash (exponential backoff)
  --mcp-port PORT        Custom MCP port (default: 37749)

The daemon starts bare and waits for clients to create or connect to sessions.

Full options: sagefs --help

๐Ÿ”ง Configuration

Per-directory config โ€” .SageFs/config.fsx:

{ DirectoryConfig.empty with
    Load = Projects ["src/MyApp.fsproj"; "tests/MyApp.Tests.fsproj"]
    AutoOpenNamespaces = false
    InitScript = Some "setup.fsx" }

Set AutoOpenNamespaces = false to skip warmup auto-opening of namespaces and modules. Because sessions inherit .SageFs/config.fsx from the working directory, this opt-out applies across VS Code, Neovim, Visual Studio, the dashboard, TUI, and GUI session creation flows.

Built-in ways to create or edit that config:

  • Dashboard โ€” enter a working directory, then click Disable Warmup Auto-Open
  • TUI / GUI โ€” focus the sessions UI and press Ctrl+Alt+A
  • VS Code โ€” run SageFs: Configure Warmup Auto-Open
  • Visual Studio โ€” run SageFs: Configure Warmup Auto-Open
  • Neovim โ€” run :SageFsConfig

If .SageFs/config.fsx does not exist, these affordances create it with:

{ DirectoryConfig.empty with
  AutoOpenNamespaces = false
}

If the config already exists, SageFs opens or points you at the file instead of overwriting your existing settings.

Startup profile โ€” ~/.SageFs/init.fsx auto-loads on every session start.

Precedence: Per-directory config > auto-discovery from working directory.

โ“ Troubleshooting

Quick start: Run your editor's health check first (VS Code: Ctrl+Shift+P โ†’ "SageFs: Check Health" ยท Neovim: :checkhealth sagefs).

Problem Quick Fix
"SageFs daemon not found" dotnet tool install --global SageFs, then sagefs status
Port already in use sagefs stop or --mcp-port 8080
Wrong project selected "SageFs: Switch Project" in command palette
Stale REPL after code changes Save the file first โ€” source edits auto-reload. Use hard reset only for .fsproj / package changes.

๐Ÿ“– Full Troubleshooting Guide โ†’ โ€” covers first-run issues, runtime problems, platform-specific fixes, and diagnostic tools.

๐Ÿ“Š Feature Matrix โ†’ โ€” compare features across VS Code, Neovim, Visual Studio, TUI, and Raylib GUI.


Welcome, Traveler ๐Ÿ‘‹ โ€” Pick Your Home Language

SageFs isn't just for F# veterans. Find your background below and get started with a guide that maps concepts you already know to F#, with runnable examples.

Quick orientation: Every sample in /samples is a runnable .fsx script. Open it in VS Code with the SageFs extension (or sagefs tui), hit Alt+Enter on any expression, and results appear inline. Instantly.

Background One-liner Guide
๐Ÿ Python Same REPL energy, plus a compiler that catches bugs before you run Guide โ†’
๐Ÿ““ Jupyter Everything you love about notebooks, minus kernel crashes and JSON diffs Guide โ†’
๐Ÿ”ท C# Same .NET, same NuGet โ€” stop writing AbstractRepositoryFactoryImpl Guide โ†’
โ˜• Java Expressive, type-safe, concise โ€” what Java always wished it could be Guide โ†’
๐ŸŸจ JS/TS No undefined, no this bugs, no node_modules โ€” just functions Guide โ†’
๐Ÿฆ€ Rust Option, Result, pattern matching โ€” without the borrow checker Guide โ†’
๐Ÿง˜ F# Koans You already know F# โ€” now get instant feedback instead of dotnet run Guide โ†’

๐ŸŽฏ Visual Demos

See what SageFs makes possible beyond the REPL:

๐ŸŒ Reactive Web App โ€” Falco + Datastar, zero JavaScript

A full CRUD todo app in ~100 lines of F#. Edit a handler, save โ€” the browser updates before you look away. No webpack. No bundler. No framework ceremony.

โ†’ samples/demos/webapp-datastar.fsx

๐ŸŽจ GPU Window โ€” Raylib Hello World with hot reload

A Raylib window that hot-patches on save. Change the color, the text, the animation โ€” save โ€” it's live in the running window. No restart, no flicker.

โ†’ samples/demos/raylib-hello.fsx

๐Ÿ•น๏ธ Interactive Game โ€” live-tweakable physics

A playable star-catcher game. Edit starMaxSpeed, playerWidth, starColors in the source file, save, and the changes apply to the running game without interrupting play. This is what live development actually feels like.

โ†’ samples/demos/raylib-game.fsx


Contributing

SageFs is open source and we welcome contributions! Whether it's a bug fix, documentation improvement, new test, or a whole feature โ€” PRs are encouraged.

โ†’ Read the Contributing Guide for setup instructions, debugging workflow, coding standards, and how to make your first PR.

New to the codebase? Check the Good First Contributions section in the contributing guide for places where help is especially welcome.

License

MIT

Acknowledgments

SageFs exists because of Jo Van Eyck's fsi-mcp-server โ€” an elegant, minimal F# Interactive MCP server that proved the concept of connecting FSI to editors via MCP. That project was the catalyst that made everything here possible.

FsiX ยท sagefs.nvim ยท Falco & Falco.Datastar ยท Harmony ยท Ionide.ProjInfo ยท Raylib-cs ยท Fable ยท ModelContextProtocol

Release History

VersionChangesUrgencyDate
v0.6.928## SageFs v0.6.928 This release fixes 14 issues and adds 2 capabilities. ### Fixes - fix(tests): name the ceiling the panel switch actually needs, and record what the wait could not fix - fix(tests): the browser runner's daemon calls use httpDaemon, not the 5s probe timeout - fix(tests): the roast's P0/P1/P2 โ€” an escalating wait, docs that match the wire, and a hydration that speaks up - fix(ci): the packaged tool smoke pins an SDK feature band, not an exact patch - fix(tests): the LT harnessHigh10/24/2026
v0.6.927## SageFs v0.6.927 This release fixes 5 issues. ### Fixes - fix(live-testing): after an in-worker reset the daemon refetches, and the worker answers from the fresh copy - fix(contrib): the systemd unit runs with the install shell's PATH too - fix(startup-profile): describe errors as the warmup does, list three, and keep typed exceptions - fix(startup-profile): a failed init.fsx names the error FSI reported, not only that there was one - fix(contrib): the launchd agent runs with the install shHigh10/23/2026
v0.6.918## SageFs v0.6.918 Maintenance and internals. ### Maintenance - chore: release v0.6.918 - chore: release v0.6.917 - docs: the rest of the banned shapes go, and a ratchet holds the line - docs: the em dashes come out of the prose, and the quoted text stays - docs: the repo's own prose holds to the rule the guidance now states - docs(agents): the shapes that read as machine-made are named, so nothing writes them - docs(skill): the bridge's silent call is named, because a client that waits forevHigh10/20/2026
v0.6.910## SageFs v0.6.910 This release fixes 14 issues and adds 1 capability. ### Fixes - fix(dashboard): a render push that keeps failing says so on the page - fix(dashboard): session keys ignore selects, act on the viewed session and ask first - fix(loading): a session on a multi-targeted project loads the framework that has a build - fix(dashboard): the header badge and the main area follow the session in view - fix(dashboard): dim text reaches AA contrast, reduced motion is honoured, banners areHigh10/18/2026
v0.6.908## SageFs v0.6.908 This release fixes 8 issues and adds 4 capabilities. ### Fixes - fix(worker): the worker's stderr has one reader, so its debug logging can never fill the pipe and stall an eval - fix(hygiene): a scan leaves the in-flight table before anyone is told it is over - fix(hygiene): a scan that cannot finish ends as a failed scan, and git's pipes are inside its bound - fix(tests): the knob journey raced its own repaint, and a screenshot could fail a journey - fix(bridge): a healed High10/17/2026
v0.6.906## SageFs v0.6.906 This release fixes 5 issues and adds 6 capabilities. ### Fixes - fix(tests): the browser tier asserted the button size the CSS used to have - fix(core): record an assembly whose namespace scan failed, so run_tests can say InSync - fix(tests): Verify's path config was only installed by the CLI entry point - fix(dashboard): the live bindings read like a watch window โ€” one value, one line - fix(dashboard): the dock ceiling belongs on body, not the signals div ### New capabiliHigh10/6/2026
v0.6.904## SageFs v0.6.904 This release fixes 6 issues and adds 8 capabilities. ### Fixes - fix(ci): a bypassed build must be allowed to upload release-assets - fix(ci): the bypass_dod warning step was truncated by YAML and could never run - fix(ci): the bypass must not skip the stage that starts the background jobs - fix(dashboard): the bottom dock takes 30vh, not 45 โ€” and its ceiling has a home - fix(tests): the sandbox case asserts the write was stopped, not how it was reported - fix(dashboard): aHigh10/5/2026
v0.6.897## SageFs v0.6.897 This release fixes 1 issue and adds 4 capabilities. ### Fixes - fix(dashboard): the dialog holds its ticks the way Datastar binds them, so Create waits for one ### New capabilities - feat(dashboard): the dialog footer says why Create is dimmed - feat(dashboard): a plus on the Sessions list opens a guided new-session dialog - feat(dashboard): draw each state of the new-session dialog - feat(dashboard): the new-session dialog's state machine, overlap rule and discovery ###High10/5/2026
v0.6.891## SageFs v0.6.891 This release fixes 33 issues and adds 9 capabilities. ### Fixes - fix(tests): POST /hard-reset names its session, so it stops depending on ambient state - fix(hot-reload): the inlined-callee fixture is a REAL .dll, not an in-memory assembly - fix(cohort): the daemon's OWN owner was never subscribed, so its panel froze - fix(cohort): a member who LEFT is not a member, in BOTH renderers - fix(cohort): FIVE cohort tools never bound `working_directory` โ€” the feature was inert -High10/4/2026
v0.6.883## SageFs v0.6.883 This release fixes 3 issues and adds 1 capability. ### Fixes - fix(lemmings): prune a VS Code run that ended in HarnessError too - fix(lemmings): remove the second version-skew command that stopped LemScore building - fix(release): release notes leave out work-in-progress subjects ### New capabilities - feat(ci): a ratchet lane that runs right after the build and stops the gate on red ### Testing and proof - test(architecture): lower the blocking-call budgets to today'sHigh10/2/2026
v0.6.875## SageFs v0.6.875 This release fixes 12 issues and adds 19 capabilities. ### Fixes - fix(live-testing): a type-check that blocks or does not answer, and an eval that starts, say so in the daemon log - fix(live-testing): an edit whose check finds the session busy is evaluated when the busy run ends - fix(guards): keep Release builds loading, keep the architecture audit at its limit, and show the guards work on the filtered thread - fix(isolation): a project's pins reach the host, or the sessiHigh10/1/2026
v0.6.870## SageFs v0.6.870 This release fixes 3 issues and adds 1 capability. ### Fixes - fix(host): the host source list was missing ThreadSandbox.fs, so no host could be built - fix(live-testing): a body-only keystroke edit selects the tests that reach the file - fix(sessions): a session whose FSI host died on its own leaves Ready and says why ### New capabilities - feat(thread-sandbox): run one piece of work on a thread that cannot use the network, files or processes ### Testing and proof - teHigh10/1/2026
v0.6.847## SageFs v0.6.847 This release fixes 9 issues and adds 4 capabilities. ### Fixes - fix(tests): the tests that drain the shared cleanup bag no longer race each other - fix(tests): Expecto never swaps the console, so the default tier stops deadlocking inside it - fix(mcp): tools that offer session_id take it, a refused code tool says why, a missing directory is named - fix(tests): the runner's console log copy no longer nests one writer in another - fix(dashboard): a page that asked for the frHigh9/30/2026
v0.6.834## SageFs v0.6.834 This release adds 2 capabilities. ### New capabilities - feat(reload): attribute a type change to the module that declares it - feat(reload): the attributed translation that makes granular restart reachable ### Maintenance - chore: release v0.6.834 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code extension**: `code --install-extension sagefs-vscode-0.6.834.vsix` - **Neovim**: see [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) High9/26/2026
v0.6.831## SageFs v0.6.831 This release fixes 1 issue and adds 1 capability. ### Fixes - fix: make the agent surface tell the truth ### New capabilities - feat: make session creation and test execution trustworthy ### Testing and proof - test: wait for the surface the journey is testing - test: close the VS Code workflow source gap ### Maintenance - chore: release v0.6.831 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code extension**: `code --install-extension sagefHigh9/25/2026
v0.6.828## SageFs v0.6.828 This release fixes 4 issues. ### Fixes - fix(tests): buffer-changed integration test named the wrong project - fix(file-watcher): report a watcher's Error events to ComponentWatch - fix(project-loading): find Arcade-style artifacts/bin output in the manual fallback - fix(sessions): stop live status polls from reporting Ready before loadedProjects lands ### Maintenance - chore: release v0.6.828 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code High9/24/2026
v0.6.820## SageFs v0.6.820 This release fixes 1 issue. ### Fixes - fix(sessions): earn Ready instead of trusting the worker's self-report ### Maintenance - chore: release v0.6.820 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code extension**: `code --install-extension sagefs-vscode-0.6.820.vsix` - **Neovim**: see [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) High9/23/2026
v0.6.783## SageFs v0.6.783 This release fixes 5 issue(s) and adds 12 capability/capabilities. Highlights below. ### Problems solved **Fixes** - fix(ci): a hung tier gets killed in minutes, and a redirected run has no spinner - fix(tweak): GREEN, whyKept sees across any number of compaction rounds - fix(tweak): GREEN, rollback resolves correctly across a compaction boundary - fix(tweak): GREEN, no Option or bool stands in for domain state anymore - fix(tweak): route every production error tHigh9/22/2026
v0.6.699## SageFs v0.6.699 This release fixes 2 issue(s). Highlights below. ### Problems solved **Fixes** - fix(warmup): carry the qualifier through `open type`, don't replay `open type` - fix(warmup): stop replaying opens that can't resolve, make real failures actionable ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension**: `code --install-extension sagefs-vscode-0.6.699.vsix` - **Neovim**: see [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.High9/20/2026
v0.6.669## SageFs v0.6.669 This release adds 2 capability/capabilities. Highlights below. ### Problems solved **New capabilities** - feat(fsi): sessions run in the isolated FSI host by default - feat(agent): the isolated FSI host runs the agent, with Harmony under its own identity **Testing / proof** - test(dashboard): make the sidebar scroll test say what resized when it fails - test(dashboard): a shorter sidebar may clamp scrollTop, only a snap-back is a bug - test(integration): shareHigh9/20/2026
v0.6.638## SageFs v0.6.638 This release fixes 1 issue(s). Highlights below. ### Problems solved **Fixes** - fix(cohort): resolve the integration worktree from the caller's repo, not the daemon's cwd ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension**: `code --install-extension sagefs-vscode-0.6.638.vsix` - **Neovim**: see [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) High9/19/2026
v0.6.566## SageFs v0.6.566 This release adds 0 capability/capabilities. Highlights below. ### Problems solved **Maintenance** - docs: map every loadable project type to its framework/native/kind needs ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension**: `code --install-extension sagefs-vscode-0.6.566.vsix` - **Neovim**: see [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) High9/17/2026
v0.6.545## SageFs v0.6.545 This release fixes 1 issue(s). Highlights below. ### Problems solved **Fixes** - fix(affordances): switch_session is AlwaysAvailable, not state-gated ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension**: `code --install-extension sagefs-vscode-0.6.545.vsix` - **Neovim**: see [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) High9/17/2026
v0.6.517## SageFs v0.6.517 This release fixes 1 issue(s) and adds 4 capability/capabilities. Highlights below. ### Problems solved **Fixes** - fix(cohort): map CohortError to a structured CohortActionFailed error, not mismatched cases **New capabilities** - feat(cohort): authority-aware affordances for cohort MCP tools (Slice 3, item 11) - feat(dashboard): render the daemon's cohort โ€” members, claims, ledger version - feat(cohort): wire CohortOwner into the daemon and expose Claims v1 MCHigh9/13/2026
v0.6.477## SageFs v0.6.477 This release fixes 2 issue(s). Highlights below. ### Problems solved **Fixes** - fix(quality): DoD tests pass with zero deferred rows โ€” release gate now green - fix(vscode): live-testing status shows "off" when disabled regardless of Total **Testing / proof** - test(e2e): VSC journey failure diagnostics read daemon live-testing state - test(e2e): fix VS Code journey harness โ€” WebLive session, focus-safe palette exec **Maintenance** - chore(quality): close tHigh9/5/2026
v0.6.283## SageFs v0.6.283 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.283.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) High8/26/2026
v0.6.276## SageFs v0.6.276 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.276.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) High8/11/2026
v0.6.273## SageFs v0.6.273 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.273.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) High5/12/2026
v0.6.270## SageFs v0.6.270 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.270.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) High5/6/2026
v0.6.268## SageFs v0.6.268 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.268.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) High5/4/2026
v0.6.250## SageFs v0.6.250 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.250.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) High4/24/2026
v0.6.243## SageFs v0.6.243 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.243.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) High4/21/2026
v0.6.242## SageFs v0.6.242 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.242.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Medium4/13/2026
v0.6.241## SageFs v0.6.241 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.241.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Medium3/30/2026
v0.6.240## SageFs v0.6.240 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.240.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Medium3/29/2026
v0.6.239## SageFs v0.6.239 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.239.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Medium3/29/2026
v0.6.237## SageFs v0.6.237 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.237.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Medium3/28/2026
v0.6.236## SageFs v0.6.236 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.236.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Medium3/28/2026
v0.6.234## SageFs v0.6.234 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.234.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Medium3/28/2026
v0.6.231## SageFs v0.6.231 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.231.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Medium3/25/2026
v0.6.230## SageFs v0.6.230 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.230.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Medium3/25/2026
v0.6.209## SageFs v0.6.209 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.209.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/20/2026
v0.6.208## SageFs v0.6.208 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.208.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/20/2026
v0.6.203## SageFs v0.6.203 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.203.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/18/2026
v0.6.201## SageFs v0.6.201 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.201.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/17/2026
v0.6.200## SageFs v0.6.200 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.200.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/17/2026
v0.6.198## SageFs v0.6.198 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.198.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/17/2026
v0.6.197## SageFs v0.6.197 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.197.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/17/2026
v0.6.195## SageFs v0.6.195 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.195.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/17/2026
v0.6.194## SageFs v0.6.194 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.194.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/17/2026
v0.6.192## SageFs v0.6.192 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.192.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/16/2026
v0.6.190## SageFs v0.6.190 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.190.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/16/2026
v0.6.189## SageFs v0.6.189 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.189.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.186## SageFs v0.6.186 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.186.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.185## SageFs v0.6.185 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.185.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.184## SageFs v0.6.184 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.184.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.183## SageFs v0.6.183 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.183.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.182## SageFs v0.6.182 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.182.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.180## SageFs v0.6.180 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.180.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.181## SageFs v0.6.181 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.181.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.177## SageFs v0.6.177 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.177.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.176## SageFs v0.6.176 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.176.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.175## SageFs v0.6.175 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.175.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.174## SageFs v0.6.174 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.174.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.170## SageFs v0.6.170 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.170.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.169## SageFs v0.6.169 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.169.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.168## SageFs v0.6.168 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.168.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.167## SageFs v0.6.167 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.167.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/15/2026
v0.6.166## SageFs v0.6.166 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.166.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/14/2026
v0.6.165## SageFs v0.6.165 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.165.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/14/2026
v0.6.164## SageFs v0.6.164 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.164.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/14/2026
v0.6.163## SageFs v0.6.163 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.163.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/14/2026
v0.6.162## SageFs v0.6.162 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.162.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/14/2026
v0.6.161## SageFs v0.6.161 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.161.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/14/2026
v0.6.160## SageFs v0.6.160 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.160.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/14/2026
v0.6.157## SageFs v0.6.157 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.157.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/14/2026
v0.6.156## SageFs v0.6.156 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.156.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/14/2026
v0.6.151## SageFs v0.6.151 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.151.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/14/2026
v0.6.150## SageFs v0.6.150 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.150.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/14/2026
v0.6.148## SageFs v0.6.148 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.148.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/13/2026
v0.6.147## SageFs v0.6.147 ### Downloads - **NuGet**: `dotnet tool install --global SageFs` - **VS Code Extension** (`sagefs-vscode-*.vsix`): Install via `code --install-extension sagefs-vscode-0.6.147.vsix` - **Visual Studio Extension** (`sagefs-visualstudio-*.vsix`): Double-click to install in Visual Studio 2022+ - **Neovim**: See [sagefs.nvim](https://github.com/WillEhrendreich/sagefs.nvim) Low3/13/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

pipulateLocal First AI SEO Software on Nix, FastHTML & HTMXmain@2026-10-25
musterMCP tool management and workflow proxyv5.52.26
mcp-for-beginnersThis open-source curriculum introduces the fundamentals of Model Context Protocol (MCP) through real-world, cross-language examples in .NET, Java, TypeScript, JavaScript, Rust and Python. Designed formain@2026-10-25
studioOpen-source control plane for your AI agents. Connect tools, hire agents, track every token and dollarv4.519.0
agentA unified Model Context Protocol server implementation that aggregates multiple MCP servers into one.v0.39.4

More in MCP Servers

litellmPython SDK, Proxy Server (AI Gateway) to call 100+ LLM APIs in OpenAI (or native) format, with cost tracking, guardrails, loadbalancing and logging. [Bedrock, Azure, OpenAI, VertexAI, Cohere, Anthropi
ruflo๐ŸŒŠ The leading agent orchestration platform for Claude. Deploy intelligent multi-agent swarms, coordinate autonomous workflows, and build conversational AI systems. Features enterprise-grade archit
@claude-flow/cliRuflo CLI - Enterprise AI agent orchestration with 60+ specialized agents, swarm coordination, MCP server, self-learning hooks, and vector memory for Claude Code
claude-plugins-officialOfficial, Anthropic-managed directory of high quality Claude Code Plugins.