gezel Gezel Handboek

1.26273 — 30 September 2026

Twelve days after 1.26261. This release is about getting work started without a detour and then seeing it through: you can attach a recipe to the message you are about to send, hand it the files it should work on, and let a single gezel — one of the named AI craftspeople in your crew — carry the job from the first step to the last. When the work is done, it comes back to you in the conversation where you asked for it, with its numbers and dates checked, and any step that is yours to approve waits for you. The first ready-made knowledge catalogs also arrive — seventeen subject shelves drawn from Wikipedia that your crew can search without going online.

If you read only one thing: the chat box now has a Task key. Pick a craftbook — one of gezel's saved recipes for a piece of work — and the message you are writing becomes its brief. Press Start the task and the work begins right away, without waiting for a model to decide what you meant.

Start a craftbook from the message you are writing

Until now, starting a craftbook from chat meant asking your meester — the guildmaster gezel who coordinates your crew — and hoping the model reached for the right recipe. The only sure route was Tasks → New task, away from the conversation you were in.

On a fresh thread, the composer now has a Task key beside Send. It opens Task for this message, where you choose a craftbook and fill in anything it needs. The message you were typing is shown as the brief, and editing it there edits the chat box too. Use in chat attaches it: a strip appears above your message with the craftbook's artwork, its name and the settings you chose. Click the strip to change them, or the × to take the task off. Nothing runs until you send.

With a craftbook attached, Send becomes Start the task. The task is created on the spot with your message as its description, and the thread keeps a receipt naming the new task. A double click or a retried send reuses that task instead of starting a second one, and the attachment is saved with your draft, so it survives closing the app.

Gezel will also suggest one. Last release showed a small label naming where a request for a PowerPoint or PDF would go; that label is now a dashed Suggested task strip you can start with Send or dismiss with ×. Suggestions are no longer limited to document formats. Nearly every craftbook in the catalog lists a few phrases it answers to — "make an invoice", "board deck", "prep me for the meeting" — and on a fresh thread with the meester or a project voorman (foreman), gezel offers the matching book when your message alone is enough to start it. In a conversation already under way nothing is suggested, because "turn this into slides" there is a reply to the gezel. Dismiss a suggestion and the message goes as ordinary chat; that craftbook is not suggested again while you finish the message.

Send waits until the task has what it needs and says what is missing, such as a message to say what the task is about.

Launch forms are shorter, too. A form now asks only what a person can answer: settings gezel fills in itself, such as the task's working folder, are no longer shown, and a recipe that needs a source file, a topic, or source material shows all three as ordinary fields and tells you to fill in one.

Point a craftbook at your own files

Some recipes work on something: a folder of meeting notes to turn into minutes, a set of chapters to compile into an ebook, a pile of source documents to turn into an FAQ. Until now the only way to say which files was to type a path, and some of these craftbooks had nowhere to say it at all.

Those craftbooks now have a Works on section in their launch form, with two keys. In this project lets you choose a folder or file from the project's workspace, read where it is, with a live count of how many files and how much data you picked. From your computer lets you choose or drag in files and folders from anywhere on your machine. Gezel copies them into the task's own folder, so your originals are never touched, and lists anything it left out and why — too large, or not a type the craftbook reads. A recurring task can use only files in the project, because it reads them fresh on every run.

Every step of the task is told where the files are and how to open them, and no gezel can change the copy it was handed. Craftbooks that use this today include Meeting Minutes & Actions, Meeting Notes to Action Items, Standup / Team Update Summary, FAQ from Source Docs, Ebook Compile and Content Accuracy Review.

Wikipedia on the shelf

A knowledge catalog is a packaged body of reference material your crew can search and quote, naming the source every time. Catalogs arrived a few releases ago (see 1.26234), but until now you had to build or find one yourself. Settings → Knowledge now offers seventeen ready to install, each a subject shelf drawn from the English Wikipedia as of April 2026:

  • Arts & Architecture — painting, sculpture, movements, dance

  • Astronomy & Space — the solar system, stars, galaxies, spaceflight

  • Biology & Nature — plants, animals and fossils, genes and cells

  • Business & Economics — companies and brands, banks and finance, shops, hotels and restaurants

  • Food & Drink — dishes, ingredients, drinks, cuisines

  • Games — video games, board and tabletop games, card games

  • Language & Linguistics — languages and their families, dialects, writing systems

  • Law — legislation, treaties, courts, legal concepts

  • Literature — novels, poetry and drama, short stories, comics and manga

  • Mathematics — theorems, structures, numbers, algorithms, statistics

  • Medicine & Health — conditions, anatomy, medications, mental health

  • Military — battles and campaigns, wars, units, weapons and equipment

  • Politics & Government — elections, parties, government bodies and offices, international organizations

  • Religion & Philosophy — religions, scripture, mythology, philosophy

  • Science — chemistry, physics, earth and life sciences

  • Technology — software, computers and devices, the internet, radio, television and the press

  • Transportation — railways and transit, roads, bridges and tunnels, aviation, ships

Together they hold about 1.1 million articles. Each shelf is a single download of between roughly 180 MB and 2.3 GB, so install the subjects you care about rather than all of them; the first one also fetches a small search model. Once installed, the search runs entirely on your device, so a gezel can look something up with no internet connection and no account. Searching for an article by its exact name finds that article first, rather than a longer one that happens to repeat its words. A Knowledge area appears in the sidebar where you can browse the shelf yourself, with a Copy citation button on every article, and when catalog excerpts are put in front of a reply, they are listed under your message so you can see exactly what the model read. Each project decides which catalogs it sees in its settings. The articles are licensed CC BY-SA 4.0, which is why the source travels with every quote.

One gezel can carry a whole task

A task in gezel is a craftbook walked one step at a time, with a check at the end of each step. Until now each step went to a specialist for that trade — a researcher, a writer, a reviewer — each starting a fresh conversation and picking up from the notes the last one left. That is the right shape for small models on your own device, which do best in short, focused conversations. For large hosted models it mostly meant re-reading.

Generalist mode puts one gezel, the Generalist, on the whole task in a single conversation. It sees the full outline, works the active step, passes that step's check and moves on, so what it learned in step two is still in front of it in step five. Nothing is skipped: every step and every check is the one a crew would walk, work that fans out into many small tasks still runs in parallel, a task you assigned to a particular gezel stays theirs, and a step that is yours to approve stays yours.

It lives in Settings → Artificial Intelligence → Run in generalist mode. Automatic, the default, turns it on for Claude, ChatGPT and Codex, and GitHub Copilot, and leaves it off for models running on this device. On and Off force it either way. The choice is made when a task is created, so changing it never disturbs work already under way. If you reach Claude or ChatGPT with your own API key, a new project the meester starts for you on Automatic now begins with one lead gezel rather than a full crew, as it already did for Copilot; choose Off if you prefer the crew. Generalist mode has the details.

If you pay for a hosted model by use, expect some change in what tasks cost. Gezel adds the Generalist to your crew the first time it is needed, and each of its turns carries the whole outline, so prompts are longer. The crew members it stands in for do not work on the task, so a model you chose for one of them is not used.

The meester sees its own work through

More of what you ask the meester for — a deck, a report, an invoice run — now runs as a task in the Default project, the one gezel uses when you have not picked another. Several things there were built for a time when Default held no real work, and they got in the way:

  • A step that finishes by saving its file now moves on when the file is saved. In Default it could not, and the task paused after doing the work correctly. A step that is yours to approve is the exception: it waits for you (see below).

  • One unanswered question in the meester's chat no longer freezes every task in Default, and an unrelated failed chat no longer pauses a healthy one.

  • A step the meester owns that goes quiet now gets a nudge, and pauses to ask for help if it stays stuck, instead of waiting indefinitely.

  • A craftbook that names no particular trade now goes to the meester instead of sitting "active" with nobody working on it.

You can also talk to the meester about that work. "Cancel the PowerPoint task" or "how is the deck going?" now reaches the task already under way instead of starting a second one, and the meester can pause, resume or cancel the runs it launched. It restarts or cancels a task only when you ask, never on its own initiative, since canceling cannot be undone. A request for "some slides for our team" stays in the project you are in instead of turning into a new project, and asking twice for the same thing no longer launches two crews.

Stop means stop. Pressing Stop while a task's step is running now pauses the task. Before, the step was sent again, so the work you stopped started over. Press Try again on the task when you want it to go on.

Finished work comes back to you

When a task you started from a chat finished, the last thing in that thread used to be a line of bookkeeping — Completed step "finish" on default/2. Active step is now "(none)" — and you had to go looking for what it had made. Now the thread gets a closing message, "All done — Weekly posts is finished. Here's what it made:", with links to up to six files the task actually wrote. The same news arrives as a card in Updates that you can open in chat or dismiss, Home shows a ready for you count beside waiting on you, and if gezel's window is hidden, your computer shows a Your work is ready notification. Scheduled and Night Shift work still finishes quietly.

While the work is under way, the thread speaks plainly too. A step that ends reads "Finished "Scope the Week". Next: "Draft posts"." instead of a status code, a gezel brought onto the crew partway through is introduced ("I've brought Sanne onto the crew as your copywriter"), and the task's thread is named after the task. The waiting on you count on Home can now be clicked, and it no longer counts gezel's own system jobs.

Approval steps are yours. A craftbook step named for your own sign-off — Owner review, Client approval, Customer sign-off, Final approval — now waits for you instead of going to a gezel. A card says the step "is waiting for you", lists the files to look at, and offers Approve. Write what should change instead, and the work goes back to the step before with your note attached. A gezel cannot complete one of these steps for you, and saving a file never moves past one. A step called simply "Review" is still gezel work. This came from a run where a model did the owner's review itself and approved a deliverable that did not exist.

Checked before you rely on it

Gezels know what day it is. Every message a gezel receives now starts with the current date and time in your time zone. Before, a model went by its own sense of the date, and one planned "the week of May 20th" in September; the wrong date ended up in a customer quote.

The numbers get a second look. When a task finishes, and when an approval step asks for you, gezel reads the text files the task made — documents, notes, CSV tables — and checks:

  • that subtotals match their items and quantity times price is right;

  • that each weekday matches its date, so a Saturday is not called a Friday;

  • dates that have already passed, including in file names;

  • prices that appear nowhere in what you gave it: your messages, your notes and answers on the task, the project's description, or a price list or menu in the project folder.

Anything it finds is listed under "Before you send anything, check:" on the closing message, or "Before you approve, check:" on the approval card. When everything holds up, it says what it checked. It points problems out; it never changes the files. This came from a quote a crew prepared with a 297 subtotal over items that added up to 197, a Friday that was a Saturday, and two prices nobody had given it.

On a Mac

  • Gezel now needs macOS 14 Sonoma or newer. The last release said it ran on macOS 13.5, but the parts behind memory and search need macOS 14, so on 13 gezel opened with them unable to start. The installer now refuses macOS 13, and a copy already installed there is not offered this update.

  • The chat box's microphone works. Narrate prompt, the microphone key in the chat box, did nothing on a Mac: macOS turned the microphone down without ever asking you. It now asks for permission the first time, as it should.

  • Automatic wallpaper works. Letting gezel set its dashboard as your desktop wallpaper failed the same way, refused before macOS asked you. macOS now shows its permission prompt.

  • Upgrades install faster and no longer start the background service twice. One step of the installer, which could take more than seven minutes on an upgrade, is gone.

  • On-device models that can see now see your images. An MLX model with a vision component receives the pictures you attach, and the ones a gezel opens itself, as images rather than as a written description. The vision component loads the first time a conversation carries a picture, which takes a moment; until then replies use the faster text-only engine. Turns with images run a little slower because they skip the prompt cache. There is nothing to switch on.

  • On-device models stop when their tool call is done instead of repeating closing markup until they hit their length limit, and Gemma 4 tool calls are garbled less often.

Smaller things

  • Restoring a backup never deletes your documents. A restore used to replace your whole shared library with the backup's copy, removing anything you had filed since, and in a cloud-synced folder that removal reached every device. The backup's documents are now added to yours: a missing one comes back, an identical one is left alone, and a different version is saved beside yours, marked "from backup" with the backup's date. You can also leave the backup's documents out, and replacing a project from a backup made without its working files keeps the files already on this device.

  • Restoring a backup can bring back your settings, if you ask. The restore dialog has an Also restore settings box, off by default. It restores which gezels hold roles such as your meester. Your AI providers, models, folders and security level stay as they are on this device, so a backup made elsewhere, or one someone sends you, cannot change them. Ticking one item to replace no longer ticks an unrelated item of another kind, choosing a different backup clears the earlier choices, and a restore that fails says so.

  • Setting up your first model is clearer. Home says when it is checking your computer for AI models, which can take a few minutes the first time, and offers up to three models already on your computer as an alternative to downloading one. The download shows its speed and the time left, and when progress pauses it says why instead of sitting still.

  • The first launch is faster, above all on Windows. About 30,000 small catalog files now ship as one. A test build spent almost five minutes unpacking files on its first launch, more than half of them these.

  • Local vision models can look at images they open themselves. On llama.cpp, a gezel whose model has its vision component loaded now sees an image it opens; without one, it is told plainly that no image was delivered instead of being told the call succeeded.

  • Narration can speak progress updates. Settings → Audio → Include progress updates also reads out the short notes a gezel gives while it works, like "Now I'll draft the outline." It is on by default and matters only when narration is on, so if you already use narration you will start hearing these. Updates that fall behind are dropped rather than read minutes late.

  • Spoken replies use a new pronunciation dictionary. Text-to-speech no longer depends on eSpeak NG; gezel carries its own American and British English dictionaries, and the British voices now speak British English. Some words will sound different, and a bug where the last sentence of a reply sometimes never played is gone.

  • A free source of reference photos. The Web Access toolset gains a Wikimedia Commons image search that needs no account or key and returns the credit and license for each picture. It stays off wherever your security settings block outside services.

  • Small talk stays small. A greeting like "Hey, how's it going?" no longer pulls unrelated files from your workspace into the reply, and a task's automatic context no longer draws on files from the project's other tasks.

  • Gezel's own words are no longer marked as misspellings. The spell checker knows gezel, meester, voorman, craftbook and the rest of the product's vocabulary, and the starter document in your shared library opens clean.

  • At the Free security level on Windows, a gezel can run scripts it writes. These script tools used to be missing on Windows, which has no way to keep a script offline. At Free, where gezels may use outside services anyway, they now run with the usual file limits and ordinary network access. Lockdown, the default, is unchanged. The security model explains the difference; the same applies to Linux machines without systemd.

  • Document search says when it cannot answer. Instead of an empty list, the Documents area tells you when a search failed, when search is unavailable, or when results may be incomplete.

  • Local models start more reliably when other apps are using the graphics card. On a PC with a separate graphics card, gezel now plans a model's memory against what is actually free rather than the card's total.

  • A long local turn is no longer cut short because the engine was too busy to answer a health check. One such restart threw away twenty minutes of work.

  • The llama.cpp engine's saved-state cache is capped at 8 GB and skips saving when your disk is nearly full; it used to grow without limit.

  • Tasks keep moving. A step that fanned out into child tasks picks up as soon as the children finish instead of several minutes later; a step waiting for a busy engine gets its turn within a minute; a step's check no longer repeats an old "file not found" after the file has been written; and a task that cannot be started pauses and asks for help instead of sitting silent.

  • Claude CLI and Codex CLI can pass craftbooks that check the test run. Those checks look for a record gezel's own script runners write, and both providers used to have those runners hidden.

  • The meester's Home chat opens on a fresh thread when you start gezel instead of reopening the last one; unsent drafts are still there. A launch with first-run setup unfinished always lands on Home.

  • Scripts cut off by closing gezel are marked failed at the next start, with a note that their actions were not replayed. With advanced features on, the Scripts view can also browse and run the built-in Standard library.

  • Keyboard focus returns to the button that opened a dialog when the dialog closes, and a gezel's name is now a proper Rename gezel button.

  • Craftbook steps can use the tools their own instructions name. More than 600 steps in the catalog could not open the working files an earlier step had left, such as the scope a review step is told to check against, and a build step asked for a picture or a data file could not call the image or script tool it was told to use. Both work now.

  • Automatic context follows what you asked for. A craftbook task now looks up the subject you gave it, so "a PowerPoint about quiche" searches for quiche rather than for the recipe's own wording, which pulled in unrelated material.

  • Catalog searches answer while they warm up. A catalog whose search model is still loading returns its keyword matches instead of nothing, and a gezel is told the results are incomplete rather than that the catalog has nothing on the topic.

  • Pictures and chat share the machine. Making an image no longer waits for a loaded chat model to go idle, and the next chat turn no longer unloads the image engine, so a run of pictures stops paying for a fresh load each time. The two run side by side whenever memory allows.

  • More Linux machines draw pictures on the graphics card. With an NVIDIA card, the image engine now uses CUDA, and the NVIDIA DGX Spark, which drew pictures on its processor at several minutes each, now uses its graphics chip too. Gezel picks the right build on its own; the Linux download is larger because it carries both.

  • On the NVIDIA DGX Spark, memory is counted once. Gezel counted the Spark's shared memory twice, so it could start a picture beside a large chat model when the two did not fit, and the image engine crashed. The on-device engines there also move to CUDA 13, under which pictures rendered faster in our measurements; it needs NVIDIA driver R580 or newer, which every DGX OS image already has.

  • Reports read like documents. Files in the References rail, task notes, night reviews, status reports, and plans or reports shown beside a question now appear with a left-aligned title and headings that follow the text's own levels, instead of in a web-page style with a large centered cover. Chat replies lose the large centered title too; Handboek and Knowledge articles keep the richer style.

  • Chat replies show what the model wrote. Dollar amounts such as "300 … 3.50" are no longer swallowed into code formatting, math-style symbols such as $\rightarrow$ show as the real characters (→, ×, ≤), and a wide table scrolls instead of breaking words in half. A turn made only of tool calls says what the last action was instead of "(continued in the next turn)".

  • Side conversations stay beside the message that started them. When a gezel consults or hands off to another, that exchange now sits under the turn it belongs to, instead of piling up below your newest message and pushing the reply out of view.

  • Project files open in their project. Opening a file from a question card or a night review used to open it in the shared library's editor, whose autosave could quietly save a lossy copy into your library. It now opens in the project's Artifacts view, with a Back to the question bar to return.

  • Documents look the way they are stored. Library documents, project files, a gezel's about text and a project's description no longer show stray backslashes such as \$3.50, and a task's description no longer says Unsaved changes just from being opened.

  • Community toolsets are labelled. Most of the toolset catalog is imported automatically from the public MCP registry, and those entries now carry a Community badge and a "Shared by" line naming who published them. They are listed after the toolsets gezel reviews, and their setup form warns you never to enter a wallet's private key or recovery phrase. The imported list also leaves out honeypots, prompt-injection demos, gambling and adult entries, and tools that ask for a wallet's key.

  • Tighter limits on what a gezel can do on your behalf. A gezel can no longer apply or dismiss its own change proposals, force a task step past its check, create a task that trusts custom scripts, or fire the actions in a report; those stay your clicks. A script a gezel runs is recorded as the gezel's, so turning scripts off in your security settings now stops it too. Nothing you do changes.

  • Mail goes only where you allowed it. An address written to look like an allowed one could get mail delivered to a different address. Gezel now checks the address the mail is actually sent to, including copies and blind copies. It is also no longer possible to add a hidden recipient through the subject line.

  • On Linux and macOS, the installed service's program files belong to the system. They could end up owned by whichever local account happened to share an id number with our build machine's account, which could then change them. They are now owned by the system and read-only. Nothing you do changes.

  • New projects reuse your crew. A project that brings its own team, such as a social feed, now reuses a copywriter or other gezel you already have instead of hiring a second one. The Default project and the shared library no longer get a project type of their own, so Default's recipe shelf stops being titled after something like an email inbox.

  • A document you name is saved under that name. Ask for plan.md and get the plan pasted into chat, and the gezel is told to save it as plan.md, not under a name made from its first heading.

  • Error buttons go where they say. A chat error saying no model is installed offers Set up a model, which goes to Home, and an engine error's Choose a model opens that engine's models page instead of Settings → General.

  • Narrow windows keep every tab in view. When a project's tabs no longer fit, they shrink to icons, keeping the current tab's name for as long as there is room, instead of scrolling sideways. Everything is a little more compact below about 760 pixels wide, and a window driven by a mouse keeps its desktop-sized rows.

  • Home steps aside once you start. The greeting at the top of Home folds away after you send a message, for that visit.

  • A gezel's growth updates within seconds of finished work instead of waiting for the daily recount, so a gezel who has just finished a step no longer shows 0 XP.

  • Quitting during first-run setup no longer leaves work behind. A download under way is stopped and started again at the next launch, and an interrupted download of the search model no longer keeps memory switched off for hours.

  • Settings → About → Legal and privacy links to how gezel handles your data, its license, the third-party notices and the end user license agreement.

  • Small new models and a video model with sound. The catalog adds MiniCPM5 1B and 2B and Qwen 3.5 0.8B (which can also see images), the smallest chat models gezel offers. In Settings → Video generation, LTX-2.3 and its faster distilled version make clips with matching sound; both need a machine with around 128 GB of memory and are about a 95 GB download.

  • The engine indicator in the title bar is shorter. It names the engine and what it is doing; the model's name is in the panel that opens when you click it.

  • A project's Approvals tab is now called Tools, in three parts: the packages installed in the project, the scripts a gezel can ask to run, and the answers you gave when a gezel asked.

  • The Knowledge settings table is simpler. A catalog installed for everyone on this device is marked Shared, and one that cannot be used says Not available instead of offering an Enable box.

  • Local-first: your data stays on your disk now lists every reason gezel goes online: the downloads you start, the tools it sets up, update checks, and web searches you allow. It also says where your provider keys are kept, and what the pass that guards gezel's background service does and does not keep out.

  • Catalog content moved from @bendyline/gilde 0.1.67 to 0.1.76.

  • The on-device engines moved from native release 0.1.43 to 0.1.46, which brings the image engine up from stable-diffusion.cpp master-789 to master-919.

In the terminal

If you use the gezel command, it now does a better job of telling you what is missing and what to type. The gezel command line covers the everyday commands, models, knowledge catalogs, keys, and backups.

  • gezel run checks first that a model is ready. On a new machine it says what is missing and which commands set it up, instead of starting a download it could not finish and asking you to try again. It downloads nothing on its own, and its reply is no longer buried under the service's startup messages.

  • Typos get a suggestion. A mistyped command names the one you probably meant, and a sentence typed without run points you to gezel run "<prompt>". Bare gezel run somewhere that is not an interactive terminal says so instead of printing a crash.

  • Errors fit on one line. A wrong gezel id or task reference says there is no such gezel or task and how to list them, instead of printing a stack trace. Set GEZEL_DEBUG=1 to see the full error.

  • gezel project is another name for gezel env, and gezel native install --engine duckdb installs just the data query engine.

  • After gezel stop --daemon, gezel status says the service is not running instead of listing a stopped process.

  • --http1 makes any command talk to the service over HTTP/1.1, still checking its certificate, and gezel do --wait rides out a brief dropped connection instead of failing.

  • gezel secret set tavilyApiKey --use-for-search is refused for now: Tavily search is not available yet, and the option used to switch web search to a service that always failed. The key itself can still be saved.

For developers

  • Craftbook inputs. A paramSchema property with "input": { "kind": "folder" } (or a file kind) gets the Works on picker. TaskManager.create resolves it before interpolation, writes a manifest, stamps Task.inputs, and names the drawer and its tools in every step prompt; the adopted folder is write-denied to gezels.

  • Launch-form annotations. askUser: false hides a param another surface fills and askUser: true forces one back; a param whose default is a runtime template ({{task.dir}}) is never shown. fromMessage: true names the param a chat message fills, and a book's triggers feed the suggestion strip.

  • POST /api/sessions/:id/launch-task creates a craftbook task from a chat message with no model turn, sharing invocation-key dedupe with the MCP invoke_craftbook tool. A send carrying turnIntent: 'off' stands the turn-intent routing down for that turn.

  • New gate check artifactReadEvidence, and a terminal step may complete when its deliverable is saved.

  • New MCP tools: manage_task (pause, resume, cancel; resume and cancel only on a user-directed turn) in the meester's task-oversight kit, and wikimedia_image_search.

  • /v1/models lists models that are not downloaded yet. Connected Apps now see every model gezel can run, each with a non-standard availability field: available, or download-required for one that must be fetched first. An app that picks the first listed model should check it.

  • A launch missing a parameter its craftbook needs answers 422 with code: 'craftbook_params_missing' and the fields to fill, instead of a 500.

  • Generalist mode is config.generalistMode: 'auto' | 'on' | 'off'; the older executionDensity key is migrated once, and each task is stamped with executionMode at creation.

  • App SDK hosting. A saved grant is reused before hosting, hostWhenRefused hosts a private daemon even after the user declines, a hosted daemon always takes an ephemeral port, and host.nativeBinDir with the new @bendyline/gezel-service/native-release export lets an application ship its own engines. See Building connected apps with gezel-app-sdk.

  • gezel status exits 1 when the service is not running or not healthy, so scripts can test it directly.

  • @bendyline/gezel-script-runtime joins the npm packages at 0.1.0: the host-neutral script executor with a QuickJS (WebAssembly) implementation. Gezel on npm now also lists @bendyline/gezk and @bendyline/gezel-knowledge.

  • The @bendyline/gezel-service package is about 7.5 MB smaller. gezeld now launches the package's own dist/index.js instead of carrying a second copy of the daemon.

  • An npm install of the service ignores a pnpm-workspace.yaml above it. The eval runner used to accept any such file as a gezel source checkout, so one planted in a shared parent folder could have the daemon run a program from that folder with its credentials. It now accepts only a real gezel checkout. Nothing you do changes.

  • New craftbook lint rule policy-denies-instructed-tool flags a step whose own toolPolicy removes a tool its procedure tells the model to use. A group-level artifacts denial now withdraws only the drawer's writer, never its read tools.

  • search reports truncationReason: 'incomplete' when a source did not answer in time.

  • Owner steps. A step with no assignee whose name reads as the owner's sign-off (owner|client|customer + review|approval|sign-off, or final approval|sign-off) is assigned to the user by the catalog loader, the document compiler and the JSON craftbook routes. No gezel is dispatched; a step-awaits-owner question carries the review, and a session token completing the step gets 409 code: 'owner_step'.

  • Step runWhen ({ answerOf, choiceAnyOf?, writeInMatches?, onMissing? }) skips a step, with a note and no model turn, unless an earlier answer asked for it. Questions now record stepId so the answer can be matched.

  • New gate checks listedFiles (one file per value in a frontmatter list) and figures (sums, quantity × price, weekday against date). The meester suggests both when it authors a craftbook.

  • New events task_settled and growth_updated, a task-finished question intent, and ChatSession.servedModel, which names the model that actually answered when a stand-in served an uninstalled pin.

  • Session tokens are refused applying or dismissing diffpacks, firing or dismissing report actions, forcing a step past its gate, and creating a task with trustScripts (including through the task.create script). Retrying or resuming a paused task is admitted only inside a turn the user started, and a session-token /scripts/run is recorded as a chat run, never manual.

  • Project types reuse the roster. reuseRosterGezels now defaults to true, matching by template and then by exact role title, and gezelsCreated[].reused says which were reused.

  • @bendyline/gezel-client retries GET requests up to three times on a transient connection failure. GEZEL_HTTP_VERSION=1.1 forces HTTP/1.1.

  • Packaged builds lock down Electron. The app and every Electron-as-Node process ignore NODE_OPTIONS and NODE_EXTRA_CA_CERTS, and --inspect is off. If you relied on NODE_EXTRA_CA_CERTS to trust a corporate proxy with the packaged app, that no longer applies. DevTools are off in packaged builds unless you launch with GEZEL_DEVTOOLS=1.

  • MiniCPM5's tool-call format (<function name=…><param …>) is parsed.

  • Licenses and SBOM. The license texts for the DirectML, DirectX shader compiler and ONNX Runtime files already shipped on Windows are now included and named in the end user license agreement, and the release SBOM carries file hashes and SPDX license ids.

  • Dependencies: @bendyline/squisq 2.11.11, @bendyline/squisq-react 2.11.13, @bendyline/squisq-editor-react 2.11.14, hono 4.13.9, adm-zip 0.6.1, nodemailer 9.1.1 (a denial-of-service fix reachable through inbound mail), undici 8.11.2, bundled pnpm 11.27.1, Electron 43.7.5.

Things to see and do after update

Open a fresh thread with your meester, press Task and pick a craftbook — or just describe what you want and watch for a suggested task above your message. When it finishes, look for the closing message in that thread and read anything listed under "Before you send anything, check:". Visit Settings → Knowledge and install a Wikipedia shelf or two for the subjects you work in. If you use a hosted model, look at Settings → Artificial Intelligence → Run in generalist mode; Automatic is a good place to stay. On a Mac still running macOS 13, update to macOS 14 before installing this release.

Watch this article as a slideshow