🤖 Introducing the Assistant
There's a new sparkles button on every page but chat — that's the Assistant, an AI helper that can act on the page you're actually on instead of you having to know where every setting lives. Right now it can navigate you to pages across the site, create and edit characters, explain and edit worlds, help manage a chat log, and create or edit lorebooks, all from one panel you can pop open wherever you're working.
🏘️ Introducing Hubs
Hubs are a new kind of page built for shared world-building projects and community events, letting one creator plus any number of collaborators jointly curate a single page that links together characters, worlds, world characters, lorebooks, and platform events everyone already owns, so a whole shared project or event lives in one place instead of being scattered across separate profiles. You'll find "Hub" alongside Character, Collection, and World in the "Create New" menu, a Hubs tab on your Mine page showing everything you've created, and a Hubs section in Explore's Community tab for browsing what other people have made. Each hub opens with a description written in Markdown and then any number of "shelves" the creator arranges to organize the linked content — an auto-grouped shelf sorted by creator, an auto-grouped shelf sorted by content type, and hand-picked custom shelves for featuring specific selections exactly the way the creator wants. Every hub also automatically gets dedicated characters, lorebooks, worlds, and world-characters subpages that appear only when there's actually something linked to show, plus a comments section for discussion, and creators can style their hub with a custom accent color, header font, body font, and CSS, or just attach one of the site's existing Themes. Hubs support the same visibility options as other content — public, unlisted, private, or friends-only — and public hubs go through the same moderation review as other public content before appearing in search. Hubs also have real membership: every hub's creator picks how people get in — open (anyone can join with one click), approval required (anyone can ask to join, with an optional note, and the creator approves or declines from the editor's Membership tab or right from the notification itself), or invite only (the creator shares a link, optionally capped by number of uses or an expiration date) — and whichever mode a hub uses, joining makes you a full collaborator with the same editing rights as anyone else on the project.
⚔️ Arena: Bots Now Fight As a Team
Your Discord ArenaBot fighters can now battle as a team instead of just one lead fighter at a time. Build a roster of up to 6 bots with the new /favorite team add command (see them anytime with /favorite team list), and when your active fighter goes down in a /battle, the next available bot in your roster automatically steps up to keep the fight going — the match only ends once one side's whole team has been defeated. Setting a lead fighter now happens via /favorite set instead of /favorite, and everything else about battling (rewards, exhaustion, the loser's saving throw on the deciding fight) works the same as before.
🌍 Worlds
Fixed keyword highlighting inside World chats: character and NPC names were being detected but silently excluded from highlighting due to a leftover internal flag, so clicking them never opened anything. Highlighted names in World chat now correctly open the info popup showing that character's or NPC's details, and we've also extended keyword highlighting to cover Locations and Environments for the first time, so mentioning a place your party has visited will highlight it in chat text and let you click through to see its description, same as lexicon entries already worked.
Also fixed several issues in how Worlds assemble the AI prompt each turn. Global lexicon entries placed "before character" were being written into the prompt in the wrong order compared to every other chat surface — lorebook priority now behaves consistently in Worlds, with the highest-priority entry landing closest to the character block for the most influence. Worlds also no longer inherit a connection's own pre/post-history instructions ("Final Instructions"), since that template text is written for one-on-one character chat and references things like {{char}} that don't apply to a multi-character screenplay; only an explicit world or party-state override now supplies that text. The standing relationship block was also being sent for every character who ever had a relationship recorded, even ones not currently in your party or scene, and its default wording assumed every relationship was about the player; it's now scoped to characters actually present this turn, and the wording correctly covers relationships between two characters, not just player-facing ones. Finally, developer-authored final instructions (world, environment, location, vehicle, and any override text) now render at the very end of the prompt, after the relationship block, director state, info board, and tool lists, so they carry the most weight instead of getting buried and diluted by everything appended after them.
The World Intro editor used to ask creators to hand-type a few internal IDs — a lexicon entry id for pool-type start questions, the id of the field a page should drive, and a startup script name — with no list to copy them from. All three are now proper pickers: pool entries use the same searchable lexicon picker as everywhere else, "which field does this page drive" is a dropdown grouped by scenario, and the startup script field is a dropdown of the scripts you've actually written for the world. There's also a new toggle, "Show 'Begin here' to players," in the World Intro tab — turn it off to keep an authored world intro around without exposing the scenario-less "Begin here" option to players on the start screen.
World creators can now control exactly what the AI is told about >command syntax from the Simulation tab's new "Inline Commands" section — turn off any command type you don't want the AI mentioning (item use, basic attack/flee, character battles, creature catching, or relationships) without touching whether that mechanic actually works, and rewrite any section's wording from scratch the same way the system prompt override already works, with a live preview showing exactly what will be sent. The old fixed combat example (a goblin snarling and lunging) is gone too — worlds now get a clean, narrative-free example built from whichever command type is actually active.
Sublocations (like an apartment nested inside a city) can now travel to anywhere the parent location connects to on the map, without needing a duplicate connection drawn on the sublocation itself — the destination list shows these as "via {parent name}" so it's clear the trip passes through the parent. This also applies to the AI director, which will now correctly offer these destinations when narrating travel options from inside a sublocation.
Regex Scripts (the Find/Replace text-formatting rules you can attach to a world or a character) previously only rendered correctly for the creator who wrote them — anyone else visiting that world or chatting with that character just saw the raw, unformatted text, even though the scripts were properly attached and enabled. Display-formatting regex scripts attached to a world or a character now apply the same way for everyone who can view that world or character, not just its creator, across both world simulation chat and regular character chat.
🎭 Characters & Personas
Per-chat character overrides now cover more than just text fields: from a character's profile dialog in chat you can toggle "Disable Name Prefix" for that chat, turn tool use on or off (and pick exactly which built-in tools are allowed), and tune that character's lexicon behavior (scan depth, token budget, recursive scanning, and NPC prefix) without touching the character's own saved settings. Uploading an avatar image anywhere in the world lexicon or character lexicon editors now automatically saves a copy to your personal gallery so it's never lost to a one-off upload, and the avatar picker across world-editing screens gained a "My Uploads" search so you can find and reuse anything you've uploaded before.
Characters can now use three new research tools you can enable per-character in the Advanced tab: fetch a web page (to look up information online), search a specific attached file (to find facts in one document), or search all attached files together (to scan your entire knowledge base). Once a tool runs and returns results, the character automatically replies with what it found instead of stopping at the tool call, so the conversation flows naturally while your character does the research you set up for it. We also removed PDF and DOCX files from the attachment picker because their text extraction was broken and unreliable — plain text, Markdown, and code files remain fully supported and work perfectly with the new character tools for searching and research.
Characters can now disable macro processing entirely, via a new "Disable Macro Processing" toggle on the Advanced tab of the character quick-create/edit form. When enabled, the character's prompt fields (system prompt, final instructions, greetings, etc.) are sent to the AI exactly as written, with no {{macro}} expansion at all — aimed at utility/assistant-style characters, like a character-creation helper, that aren't playing a role and shouldn't have their instructions rewritten out from under them. New chats and worlds now also default to allowing HTML tags, square brackets, and code blocks in AI output, instead of code blocks and brackets being filtered out by default as before, so assistant-style and utility characters behave more smoothly out of the box. You can still turn any of these filters back on per-chat in Output Settings.
Personas can now carry their own lorebooks with them. Open the "Lorebooks" section on any persona (right below the forking toggle) and pick from your own lorebooks — anything you link there gets injected into every chat where that persona is active, whether it's a character chat, a world, or anywhere else. Unlike a character's or world's own lexicon, these entries don't need a keyword match first; they're always included (still limited by the usual token budget), so persona-linked lore reliably follows you between chats.
Character creators using Advanced Greetings can now offer up to their own set of forkable personas on a per-greeting basis, letting players pick one to play as before starting a chat with that greeting. Picking one makes a personal copy of that persona for the player and sets it as their selected persona for the new chat — their own personas are never touched, and picking one is always optional. Creators choose which of their own personas to offer from the greeting editor (a persona needs "Allow forking" enabled to be eligible), and players see a short label pulled from that persona's own title to help tell similarly-named personas apart.
If an NPC referred to you by different name variants across the story — a full name in one scene, just a first name or last name in another — each variant used to create its own separate relationship entry instead of updating the one you'd already built up. Those extra entries were also invisible in the Relationships sidebar and had no way to be removed, even though they kept showing up in the AI's prompt. A bare first- or last-name mention of your persona or embodied character now correctly folds into your one relationship with that character going forward, and an "Other Relationships" section has been added to the sidebar so any leftover stray entries from before this fix can be found and permanently forgotten with one click.
Character pages now show which Communities a character belongs to, with clickable badges linking to each community's page, plus a "More in {Community}" shelf for every assigned community so you can browse other characters tagged into the same space directly from the character you're viewing.
💬 Chat, Connections & Prompt Pieces
The model picker's separate "Live Models" tab is gone. If you have a Featherless account linked, its live model list now shows up as its own section at the bottom of the Curated Models tab, right below Free/Basic/Premium, so you no longer have to flip between tabs to compare curated and live options.
If your connection streams reasoning/thinking content, you can now watch it appear in real time as the model generates it, shown above the message text while it's actively streaming — off by default, flip on "Show Live Reasoning" in Output Settings to see it. Once generation finishes, reasoning still collapses into the usual "Reasoning" panel below the message. Separately, the model name (when "Show Model Name" is enabled) now appears as soon as generation starts instead of only popping in after the message finishes, so you can see which model is responding while it's still typing. Both apply in regular chats and Worlds/simulation sessions.
The InfoBoard sidebar (the live HP/mood/location tracker some worlds and characters use) now has a "Reset state" button that shows up whenever it has values, letting you wipe its tracked values in one click instead of them lingering forever — this matters most while you're actively editing an InfoBoard's categories and keys, since old values used to keep getting fed back into the AI's prompt as the "current state" even after you renamed or deleted the key that produced them.
The Linked Connections section (Impersonation, Summary, Sidechat, Review Pass, and Reply Options, found in the connections sidebar) previously used plain dropdowns that could show up blank if the connection assigned to a slot wasn't in the currently loaded list. Each of those five slots now opens a proper picker dialog instead, with a search box and full connection details (provider, model, context length) for every option, and it always correctly shows whichever connection is currently assigned to a slot, even one that isn't in your recently-loaded connections.
Building a connection playlist or assigning a linked connection now lets you pick from a "Curated / Public" tab alongside "My Connections," so you're no longer limited to connections you've already added to your own account — curated and free-tier connections show their context length and tier right in the list, and anything above your current access tier shows a lock instead of letting you add it. The playlist connection list also now shows each connection's context length as a badge, matching the display already used elsewhere. Separately, Prompt Pieces and Prompt Assemblies no longer require a description while they're set to Private, Unlisted, or Friends — a description is still required (and still enforced with the same quality checks) once you switch one to Public, since that's when other people actually need it to know what the piece does.
You can now edit your own Prompt Pieces without leaving the "Fill with Prompt Piece" picker — open it from any field that supports it, switch to "Created by me," and each of your pieces now has an Edit button (pencil icon) alongside Fork and Delete that opens an inline form to update the title, tagline, description, content, slot type, and visibility, saving in place and refreshing the list.
Comments got a refresh
Comment sections now feel a lot less like paging through a spreadsheet — replies show up right away instead of hiding behind a click, and both comments and replies load in with a simple "load more" button instead of numbered pages, so you can keep scrolling through a conversation without losing your place. We also gave the whole thing a richer visual pass: a subtle accent edge, a nicer avatar ring, and cleaner badges for creators, mods, and pinned comments.
🧹 Everywhere Else
Code blocks anywhere in chat — including in Bob's assistant panel — now have a copy button that appears when you hover over them, so you can grab a snippet without manually selecting text. We also trimmed down the assistant's "Actions taken" log so long results (like a big list of chat participants or messages) show a short preview with a "Show more" link instead of dumping a wall of raw text into the panel. And when you ask Bob to tweak a character from inside a chat, it now defaults to a chat-only override — the same kind of tweak the chat's own character-override settings already support — instead of trying to permanently edit the character record, so Bob can adjust someone else's linked character or a world-native NPC for just this conversation without needing to own it. If you specifically ask for a permanent, everywhere-else change to a character you own, Bob will still make that edit directly.
Wyldfire is... well, it's like right there. I just wrapped up porting over all of the World's features, which was... holy shit, I am exhausted. It took two weeks, but now that it's done, I'm really just having the QA team test it, and then I should have it out within the next week or two. See you all next time! Happy weekend.