FaberFaberDocumentation ← Home

Work with Faber

Install Faber on your computer, hand it real work, and keep the context and proof that make a result trustworthy.

About 15 minutes | runs on your computer | works project by project
Why Faber

What's inside

Faber is more than a chat window connected to a model. It is a durable place to work, with a working agreement around the agent and its own editors for the files a job is made of.

Plain-English partner, proof underneath

See what is happening and why without living in a terminal; inspect the technical trail when you want it.

It works in your files

Ask in chat and Faber changes a workbook, a Word document, a PowerPoint deck or a PDF in place, checks what it wrote, and keeps the file as it was beside it.

Faber Workspace

Seven editors in a browser tab: drawings, Word documents, spreadsheets, PowerPoint decks, text, pictures and PDFs, with an assistant beside the open file.

A home for every project

Chats, files, previews, decisions and tickets belong to the project they describe.

It remembers the reason

Decisions and hard-won lessons are kept and searched, so new work starts with the context that matters.

It checks its own work

An independent reviewer separates an agent's claim that it is finished from a result that was checked.

It learns your methods

Work you repeat can become a reusable skill that follows the way you actually do it.

Yours, and private

Faber runs on your computer. Your files stay in their folders and your keys stay on your machine.

Get set up

What you'll need

  • A Faber access key. It looks like fbr_ followed by 32 characters, and comes from whoever gave you Faber. It is yours alone: it downloads Faber and brings you updates.
  • A computer to run it on. Windows 10 or 11 (64-bit), macOS on Apple silicon or Intel, or Linux (x64 or ARM64).
  • A Claude subscription. It is the simplest way to run the agent. Codex sign-in, API keys and local model servers also work: see Bring your own models.

Nothing else: Python and every library Faber uses are inside the download. You do not need administrator rights, Git or a GitHub account.

Where Faber keeps things: the program in %LOCALAPPDATA%\Programs\Faber; your settings, keys and logs in %LOCALAPPDATA%\Faber; its memory in ~/.faber/faber.db. An update replaces only the program. Your project files stay in the folders you chose.
Get set up

Install Faber

Open the download page, enter your access key, and choose your computer.

https://releases.harnessfaber.com/download

Or run one line in PowerShell, with your own key in place of fbr_...:

$env:FABER_KEY = "fbr_..."; irm https://releases.harnessfaber.com/install.ps1 | iex

The installer downloads the build for your computer (about 300 MB), checks it, installs it for you alone, saves your key for updates, adds a Faber shortcut to the Start menu and the desktop, and opens Faber in your browser.

  • If you downloaded the zip yourself: right-click it, choose Extract All, then double-click Install Faber. If Windows shows "Windows protected your PC", click More info, then Run anyway: Faber is not code-signed yet.
  • If Windows says the file paths are too long: install into a short folder. Set $env:FABER_INSTALL_DIR = "C:\Faber" before the line above.
  • macOS or Linux: curl -fsSL https://releases.harnessfaber.com/install.sh | FABER_KEY=fbr_... sh in any shell.
Get set up

Rather have an assistant install it

If you would rather be talked through the install, paste this into Claude or another assistant that can run commands on your computer. The page it points to is written for assistants: the commands, how to check the result, and what each error means.

Help me install Faber on this computer. Read https://releases.harnessfaber.com/install.md and follow it.

Explain each command before you run it. Ask me for my Faber access key when you need it, pass it only in the FABER_KEY environment variable, and never print it back in full or put it in a web address. Stop and wait for me at any sign-in or permission prompt.

When it is installed, tell me how to open Faber again later.
Get set up

Sign the agent in

Faber does its agent work through Claude Code. You do not have to install it yourself.

  • Open Settings (the gear) and go to Dependencies, then press Check install.
  • The Claude row offers Install Claude Code when it is missing and Sign in to Claude when it is signed out. Each opens Faber's own terminal with the command typed; follow the browser sign-in, and the row clears by itself.
  • A red banner at the top of the page names anything Faber still needs, and goes away when it is there.
Important: do not set ANTHROPIC_API_KEY on your computer if you mean to use your Claude subscription. Faber refuses to run on the subscription while that key is set, so that you are not billed API credits by surprise.

For Codex, choose Codex ChatGPT sign-in under Settings > Builder and press Sign in with Codex. It needs the codex command-line program, not only the desktop app.

Get set up

First run

Faber opens in your browser at http://127.0.0.1:8088. To open it again later, use the Faber shortcut: it starts Faber if it is not running and opens the page.

  • The first-run interview. Eight short questions about you and how you like to work, one at a time, each with Next and Skip. Your answers are saved straight away. If Claude is not signed in yet, the card says so and finishes by itself once it is. You can run it again from Settings > Onboarding.
  • Your first project. Press New project, name it, and pick the folder the work lives in. See Projects and chats.
  • Start at login. Settings > Startup has "Start Faber automatically when I log in".

Faber looks after its own server: if it stops, it is started again. There is no window you have to keep open.

Using Faber

Projects and chats

A project is the home for one job. It owns a folder on your computer, its chats, its files, its decisions and its memory.

Starting a project

  • New project starts from A folder on this computer or A project on GitHub. The folder picker browses the computer Faber runs on; on Windows it follows shortcuts to folders, so a Google Drive folder that was shared with you can be picked.
  • Each project has any number of chats. Past chats are kept and replay after a refresh or a restart. Search in the sidebar finds earlier chats and the project's saved decisions, and never shows another project's.
  • A project or a chat can be renamed or archived from its row. Archiving hides it and deletes nothing; Archived projects brings it back.

What kind of work it is

The Coding picker in the header sets how Faber treats the project:

SettingForWhat changes
Coding onSoftwareThe full pipeline: commits, the ticket board, the acceptance check and the code review.
Coding offDocuments, estimates, analysisThe result is the deliverable itself. The review reads the deliverable and stops only on a real defect. No ticket loop.
EngineeringDrawing packagesThe deliverable is a set of editable drawing sheets; a PDF is made when you ask for one. See Engineering work.

In a Coding off or Engineering project Faber keeps a file named Faber job record.md in the project's folder: the open items, the decisions made and the lessons learned, rewritten after a turn when something changed. It is for you to read; a new chat is handed the job's open items from Faber's own memory.

Software projects and GitHub

  • A new project can be put on GitHub when you make it, or connected later.
  • You can work On my own branch (recommended) or Directly on main. On your own branch, Send to main for review opens a pull request and Merge into main lands it. Pull requests need the GitHub CLI; without it Faber gives you GitHub's own link.
  • With "Give each chat its own copy" on, each chat works in its own copy of the project, so two chats do not trip over each other. Work that is committed lands on your branch after the turn.
Using Faber

How a turn works

Say what you want in plain words. Faber does what was asked, and answers in a few plain sentences with the result first.

  • It starts straight away. A request starts work; a question gets an answer and changes no file; "do 1 and 2" does exactly those items.
  • One badge shows the state on the newest card: Working, Waiting on you, Finishing up, Done or Ready. The technical record of every step is underneath when you want it.
  • You can keep typing while it works. What you type goes into the same piece of work to steer it or to ask a question. Stop sits beside Send, and saying "stop" or "I have to go" stops it too.
  • When it needs you, it asks with a card: a decision with its options and trade-offs, an approval for a risky step, or a question with choices to pick from.
  • Before it reports, the work is checked: against Faber's standards, then by an independent reviewer. See Review, fixes and reliability.
  • The last card is the report. It ends with the next action and who owns it: Faber, You or Nothing. A problem that was found and not fixed is never "Nothing". Files the turn made or changed are listed under Deliverables.

Long chats

A chat holds only so much. The Compact button under the message box shows how full it is and shortens the chat when it is safe; Faber does it by itself at 75%. When a chat is full, Faber writes up where things stand and continues in a new chat with that handoff, so nothing is lost.

Using Faber

Decisions and approvals

At a fork that matters, Faber stops with a decision card: the options, what each costs, and the one it recommends. What you choose is saved as a decision of the project and holds for later work.

The Mode picker in the header sets how much it may do without asking:

ModeWhat it means
AutonomousWorks without asking. Risky operations are blocked outright.
GuardedAsks you before a risky operation, such as a destructive delete, a force push or dropping a database.
ManualAsks before running any command. Edits to files are still made.

An approval you do not answer within ten minutes counts as no.

Your files

Work in your files from chat

Ask in chat and Faber changes the real file, not a copy of its contents: a workbook keeps its formulas, charts and print setup, a Word document keeps its letterhead, a PDF keeps its pages.

Excel workbooks

  • Reads the cells as they show, with their formulas. Changes values and formulas, adds and removes rows and columns, and works the totals out again.
  • Formats: bold, fill, number formats, borders, column widths and row heights, merging, hiding, frozen panes.
  • Printing: orientation, paper, fit to a page, margins, print area, repeated rows, page breaks, and the pages saved as a PDF.
  • Not from chat: charts, pictures, conditional formats and validation lists. Make those in Faber Sheets.

Word documents

  • Reads the document paragraph by paragraph and table row by table row. Finds and replaces words, rewrites a paragraph, adds and deletes paragraphs, adds and deletes table rows, sets a cell.
  • Changes the words in the header and the footer.
  • Never touched: pictures and logos, the words inside text boxes, page numbers and other fields.

PowerPoint decks

  • Reads a deck slide by slide: each title, box, table cell and the speaker notes. Finds and replaces words, each word keeping its look; rewrites a paragraph, adds and deletes paragraphs, sets a table cell and the notes.
  • A box set to shrink its words, or to grow with them, is fitted again the way PowerPoint fits it.
  • Adds a slide from one of the deck's own layouts with its title and bullets, duplicates, moves, hides, shows and deletes slides. After a slide is added, moved or deleted, Faber reads the deck again before it changes anything else, so a slide's number never points at the wrong slide.
  • Not from chat yet: pictures, and a box's place or look. Slide numbers and dates are never written over. A deck open in PowerPoint is refused: close it there first.

PDFs

  • Reads the pages and finds words. Deletes, turns, reorders, extracts and splits pages, and inserts the pages of another PDF.
  • Finds and replaces words in the page itself. A scanned page has no words to change, and words it could not change safely are listed, not guessed at.
  • Saves a copy unless you tell it to replace the file.
Every change is all or nothing. Faber plans the change, writes it, reads the file back and compares. If what it reads is not what it meant, the file is left as it was. When a file is replaced, the one before is kept beside it with .bak on its name.

An editor tab that already has the file open does not reload by itself: open the file again to see what chat changed.

Your files

Files and previews

  • The file list beside the chat is the project's folder: a Tree or the Recent files, sorted by date or by name, with a search box. + File, + Folder and + Drawing make new ones; a row is renamed and deleted from its own controls.
  • What you delete is kept for 30 days. Deleted over the file list shows it, with Put back and Remove. Putting a file back never writes over a file that is there now.
  • Click a file to preview it beside the chat: spreadsheets with their totals worked out, Word documents, PDFs, pictures, code, web pages, drawings. Drag the divider to give the preview or the chat more room.
  • Open in the default app hands a file to Word, Excel or your PDF reader.
  • Edit it in Faber Workspace. A preview has a button for its editor, such as Edit in Faber PDF, and Workspace under the Files header opens the editors for the project. See Faber Workspace.

CAD drawings

A .dwg or .dxf file opens in a CAD view: its layouts as tabs, layers on and off, and Color or Black. From there, Redline marks it up in Faber Draw over a grey copy, and Import to Faber Draw turns it into objects you can edit. The agent can read a drawing's layouts, layers, text and dimensions too.

DWG needs one free program. A .dxf opens with nothing extra. A .dwg needs the ODA File Converter, which Faber may not ship. On Windows, press Install ODA File Converter on the card a DWG shows, or under Settings > Dependencies: Faber fetches ODA's own installer, checks its signature, and opens it for you to accept the licence.
Software projects

The ticket board

For software work that is larger than one sitting, the board keeps scope, dependencies and proof in view. A plain request does not make tickets: they come from work you plan as tickets, from Add to board in Side Chat, from a promise the agent made and you confirmed, and from review findings.

Ticket with its criteria -> Work -> Evidence -> Independent check -> Done
  • A ticket is Open, In progress, Done, Deferred or Blocked. Deferring takes a reason; part of a job is never quietly called the whole.
  • Dependencies hold later work until what it needs is really done.
  • If something is built and still needs a restart or a switch to go live, Faber makes a separate activation ticket, so built is not mistaken for live.
  • Faber takes tickets one at a time and carries on to the next by itself. It stops when a ticket fails the same way twice or its goal cannot be met as written, and tells you: change the ticket's goal, or tell it the work is done.
Software projects

How a ticket earns "done"

An agent saying it finished is a claim, not a result. Every ticket with acceptance criteria is checked against them by an independent verifier before it can close.

The criteria are written when the ticket is made and shown on its card, so what "done" means is agreed before the work starts. When the builder says it is finished, a separate pass reads the criteria one at a time and records its own verdict on the ticket.

Criteria set at creation -> Builder claims done -> Independent verdict -> Closed

Until that verdict passes, the ticket's completion is provisional. The card carries a PASS, FAIL or UNVERIFIED chip, so you can see at a glance which tickets are really finished.

It fails toward caution, not convenience

  • If the verifier itself cannot be reached, the ticket reads UNVERIFIED. An outage cannot quietly close work.
  • A ticket for code will not close on a commit that changed only documentation.
  • Tickets with no acceptance criteria are skipped, not blocked: the check applies where there is something to check.

When you need to close it anyway

Sometimes the verifier is wrong, or the criteria were written badly. Override & close appears on a ticket the check is holding. It requires a written reason, which is recorded on the ticket, and a ticket closed this way is never quietly checked again or reopened.

Using Faber

Review, fixes and reliability

After a turn, an independent reviewer (the auditor, ideally a different model from the builder) looks at what was delivered. Its findings arrive on an audit card, each with its severity, what is wrong and why.

  • Send to builder sends a finding back for a focused repair; Dismiss sets aside one that does not apply. Send all to builder does the lot.
  • With Auto-build fixes on (Settings > Auditor), Faber repairs what was found and has it reviewed again until it is clean, within a fixed number of passes. Arbiter has a second judge test each finding against the files first, so a false alarm does not become work.
  • For drawings, the reviewer looks at the sheets as pictures, not only at the data behind them.
  • Settings > Reliability shows which kinds of finding turned out real and which were noise, so recurring faults stand out.
Tools

Side Chat

  • A quick second chat for questions about the project. It reads the project's map, history, decisions, reference material, ticket board and the files you name, and it can tell you what the running turn is doing.
  • It is deliberately read-only: it cannot run commands, change files or start work.
  • Use as prompt puts an answer into the main message box without sending it. A ticket it suggests is added only when you press Add to board.
  • Ask it to "update me every 2 minutes" and it pins a small watcher that posts the turn's status until the turn ends or you press Stop.
Tools

Memory, the Brain and privacy

  • Decisions you make on a card are saved exactly; ones made in passing are picked up after the turn. Lessons, the root cause of something that went wrong, are kept too. Both are searched when new work starts.
  • The Faber Brain is knowledge gathered across your projects. It has its own row in the project list and is read-only.
  • Search by meaning uses an embedding model set under Settings > Model routing. When you change that model, Faber makes its search index again by itself; Re-embed memory under Settings > Faber Brain does it on demand. Without such a model, search falls back to keywords.
Privacy boundary: under Settings > Faber Brain each project is shared or private. A private project is left out of the Brain altogether. A project marked sensitive shows only a status line, never its path.
Tools

It learns your methods

When you have asked for the same kind of work three times, Faber offers to capture the rules, numbers and finished shape that make up your method. Your answers become a reusable skill. Say no and it will not ask again for that kind of work.

Tools

Engineering work

With the Coding picker on Engineering, Faber draws control and detail sheets as editable drawings (see Faber Draw) and prepares the paperwork around them: estimates, proposals, submittals, change orders and schedules.

  • The sheets are the deliverable. A PDF is printed from them when you ask.
  • Each sheet Faber changes is drawn and looked at by the reviewer as a picture; a printed package is read page by page, and the reviewer is asked whether a sheet contradicts itself.
  • Rates and prices in the estimating skill ship as marked placeholders: put in your own before a number leaves the building.

How Aberdeen Group's engineers use it.

Tools

App Browser

  • Run a project's web app in a tab beside the chat. Add it on the + tab with its command, folder and port; when the builder makes an app it hands you those details, and you confirm them before it starts.
  • Start and stop it from its tab. Faber tells running, starting and stopped apart, and says when the port belongs to another program.
  • Tabs are kept per project. If an app will not show inside the page, Browser opens it in a normal tab.
Tools

The built-in terminal

Terminal in the header, or Ctrl+`, opens a real shell in a drawer under the chat, starting in the project's folder. It survives a refresh of the page and ends when Faber restarts. Faber's stored keys are kept out of it.

Access

Working as a team

Everyone runs their own Faber. Two Fabers pair with a single-use invite code and talk directly to each other over Tailscale; a shared project then has one shared chat, opened with Team in the header. A message with no tag runs your own agent; @name or @team is for people only.

Access

Faber on your phone

Faber is reached from another device through Tailscale only: it is never put on the internet or opened to your Wi-Fi. Install Tailscale on the computer and the phone under the same account, then press Remote in the header, Enable remote access, restart when asked, and scan the QR code with the phone.

  • The link signs the phone in for 30 days, and each day the phone uses Faber starts the 30 days again. Enabling remote access again signs every device out; Turn remote access off ends it.
  • Android and iPhone. On an iPhone the Camera opens the code in Safari, signed in. An iPhone needs iOS 16.4 or later.
  • A phone that is not paired is shown a page that says so, with a box for a pairing code. On the computer, Pairing code in the Remote box gives eight digits, good for ten minutes and for one phone. It is how Faber on an iPhone's Home Screen is paired, the first time it is opened: an iPhone keeps that app apart from Safari, and the app cannot scan.
  • On a phone the chat takes the full width and the chats list is behind the menu.
  • Workspace, under the Files header, opens the assistant and the job's files on the phone: see Workspace on your phone, which also has how to put Faber on the phone's Home Screen.
  • Phone check, in the menu on a phone, says what that phone's browser lets Faber do (the microphone, the voice, the screen kept awake), and copies it as a few lines to send.
Access

Voice

A browser allows the microphone only on a secure address. Enable HTTPS via Tailscale (voice) in the Remote panel gives Faber one, and dictation then works from the phone. On a tailnet you share with other people, check its access rules before you let more devices in.

On an iPhone, dictation works in Safari, with Siri & Dictation turned on in the iPhone's Settings. Apple gives an app on the Home Screen no speech recognition: there the microphone says so, and the microphone key on the iPhone's keyboard does the same job.

Beyond the app

Plugins for Codex and Claude

Faber's ticket, evidence and audit agreement also ships as a plugin for the Codex and Claude Code command lines. A ticket becomes verified only by a recorded audit verdict, never by a model's own say-so.

Faber for Codex

codex plugin marketplace add bennidao/Faber_For_Codex
codex plugin add faber-for-codex@faber-for-codex

Faber for Claude

/plugin marketplace add bennidao/Faber_For_Claude
/plugin install faber-for-claude@faber-for-claude

Start a fresh session after installing. The plugin's board belongs to the project on that computer; it is not shared between computers.

Keep it running

Updates and backup

Updating Faber

Settings > Version & sync shows your version and channel. Faber looks for a new version once a day and tells you when there is one; nothing is installed until you press Install update. Check for updates looks now.

  • Most updates are a few megabytes. Now and then one brings a new set of libraries and is about 300 MB; the panel says the size before you start.
  • An update waits for running work to finish, then Faber restarts itself and the page reloads. Reload any Workspace tabs you have open.
  • Every download is checked against a signed list. If a new version does not start, Faber goes back to the one before and says so.
  • Your access key decides your channel, stable or beta. If the panel asks for a key, paste yours and press Save key.

Backing up a project

A project that is on GitHub has its own sync line at the top of the page: Back up to GitHub, Get GitHub's changes, and Reset to match GitHub, which saves a copy you can get back before it resets anything. A project that is not on GitHub yet offers Set up backup and Connect GitHub. This is separate from Faber's own updates.

Keep it running

Settings worth knowing

SectionWhat is there
ThemeSystem, Light or Dark.
Subscription limitsHow much of your plan's limits is used, as the provider reports it.
StartupStart Faber when you log in (Windows).
Version & syncUpdates, your access key, Restart server and Quit Faber.
ServerThe port Faber listens on. It takes effect at the next start.
ContextHow much a chat may hold before it is compacted, from 200k to 1M.
BuilderWhich model does the work and how it signs in.
AuditorWhich model reviews the work, how deep, Auto-build fixes and Arbiter.
DependenciesCheck install: what Faber needs on this computer, with a button to put each thing right.
ReliabilityReview findings that were real and that were noise, and loops that stopped.
Faber BrainShared or private for each project, Rebuild overview, Re-embed memory.
OnboardingRun the first-run interview again.
Model routingThe models behind the helper jobs, with Find local and a test for each.

The header keeps the everyday choices one click away: Model, Effort, Auditor, Mode and Coding.

Keep it running

Bring your own models

A Claude subscription is the default, not a requirement. Three jobs are set separately.

  • The builder does the work: Claude subscription, Codex ChatGPT sign-in, or an External endpoint (an OpenAI key, OpenRouter, or a local server).
  • The auditor reviews it, with the same choices. Pick a different model from the builder's where you can: a second opinion is worth more from a second mind.
  • The helpers do the small jobs: the plain-English summary, memory, search, Side Chat and the Workspace assistant. Each has an ordered list of models under Settings > Model routing, so one that is down falls through to the next, and each has a Test.

Find local looks for model servers on your computer, such as Ollama, LM Studio, vLLM and llama.cpp, and fills the row in. A local model that thinks before it answers works as the builder with thinking on. Effort sets how hard a model thinks, from Low to Max: in the header for the builder, and in Settings for the auditor and each helper.

Keys are typed into a masked box and kept only in Faber's own settings file on your computer. They are never shown again and never stored in its database.

Keep it running

Troubleshooting

  • Start here: Settings > Dependencies > Check install lists what is wrong first, each with its fix.
  • A red banner says the page cannot reach Faber: press Fix connection. It restarts the browser's own network process and leaves your tabs open. It most often follows the computer waking from sleep or changing network.
  • "Port 8088 is already in use by ...": another program, or an older Faber, has the port. The message names it. Close that program, or change Faber's port under Settings > Server.
  • A change seems missing after an update: reload the page and any Workspace tabs, then try Settings > Version & sync > Restart server.
  • Faber will not start: look in %LOCALAPPDATA%\Faber\logs, at last-crash.txt and server.err.log.
  • A DWG will not open: install the ODA File Converter (see Files and previews).
  • Phone or microphone fails: check that both devices are on Tailscale under the same account, and that the HTTPS address is the one in use.
  • The installer stops with a message: each one is explained at https://releases.harnessfaber.com/install.md.
Golden rule: do not end Faber while it is working. Wait for the turn to settle, or use Quit Faber in Settings, which waits for you.

This guide matches Faber 0.10.86.