Improvement: Shorter build headings on the developers page
The build section now reads Small core, Bundles and Sandbox, so it is quicker to scan.
The build section now reads Small core, Bundles and Sandbox, so it is quicker to scan.
When an answer points to a file in a bundle, the chat now shows it as a framed image or a card instead of a bare link.
When a run the agent delegated to the background completes, the parent chat picks up again with the result. You no longer have to come back and ask.
Opening an image file in a bundle now shows the picture instead of a blank editor.
The search palette now matches file names and lists those hits first.
Type in the filter above a bundle's file tree to narrow it to matching files.
Each tool call row in your activity now says which MCP client made it.
A markdown file's frontmatter now appears as a properties block instead of being read as a heading.
Each page on the features site now carries a wider screenshot of the page it describes, in light and dark themes.
File history now links each bundle file edit to the chat message that made it.
Developers explains how Ghostlyn works, how to build on it and how to connect over MCP, with an architecture diagram whose parts link to the matching sections. Each page also has a markdown version.
Following a link to a feature card scrolls to it and fades it in so you can see which one it meant.
The help content is now readable at /docs without signing in, with linkable section headings and a menu to copy or view any page as markdown.
Rung names and summaries are tighter, the second rung is now Company knowledge, badges link to what they name, and the layout fits a phone better.
Metabase is now in the connector catalog. Enter your Metabase address when you install it.
Choosing people for a channel or direct message now uses a chips field that keeps its height as you add names.
Importing an Agent Plugin now brings its MCP servers along as connectors.
Long messages and pasted data are saved as files, so ids and numbers stay intact after a chat is compacted.
The redundant All chats and See all rows are gone, since the section headings open the same lists.
Ask the agent what a file said earlier and it reads that version directly, leaving the current one untouched.
The buttons at the bottom of a feature page now step through all features, not only those in one area.
Anchor links scroll smoothly, and a link to pricing from another page jumps there and fades it in.
Secondary text is darker so it meets the 4.5:1 contrast standard.
The first feature screenshot loads right away, the logo is served smaller and the error-reporting code loads later.
The features page now starts with an overview of what your company brain holds, before the full list.
The home page opens with an animated drawing of Ghostlyn connecting your tools, so a visitor sees how it works at a glance.
The bar that appears when you select chats is now framed and leads with Mark as read. The list no longer jumps when it appears, and the select-all banner takes the place of the search field.
Runs of a personal scheduled task now land in a channel of their own, so you can follow a task's results and reply in one place.
Tick multiple chats on the chats page and act on them together, with Undo if you change your mind.
A personal Solidtime key, on the hosted service or your team's own domain, turns into a weekly summary of hours by person, client and project.
Editing a message now happens right where the message sits. Save stays disabled until you change the text.
When a tool's write setting is Allow all, sending a message or email through it no longer stops to ask for approval. Sends follow the same setting as other writes.
The agent now bases claims about your tables and record ids on what its tools actually returned, so it invents fewer rows and ids.
The agent now saves project files where the project page lists them, so what it writes for a project is easy to find.
In Slack public channels, the organization agent can now reply to messages the way it does in web channels, without waiting for an @mention each time.
In channels, the agent now takes a channel's privacy into account and searches the places the asking member can read.
Ask Ghostlyn to stop replying in a channel thread and it goes quiet there until someone mentions it again. Channels no longer have a Respond automatically switch, while direct messages keep theirs.
Type # or / in a channel to point the agent at a project or skill, as you can in a chat.
Share any message with your team as a card, with a warning before you forward something from a private chat.
Limits now apply to the whole organization and to each member, and the usage page shows where you stand.
Start a voice call from a channel thread or the channel composer.
Organizations can require approval before the agent changes anything, or let a quick automated review decide which writes need a person.
Channel replies now appear live, and any member can stop one that is going the wrong way.
Choose which tools run freely, ask first or stay off, within a ceiling your organization sets.
Both now share one Team section in the sidebar and one page layout, and channels can carry a description.
Change something you wrote earlier and the conversation continues from your edit.
Public pages group every feature into areas, each with plain-language points and an icon. Open Features to look around.
Chats and channels now show the same set of actions under each message.
A widget's address now names the row and the widget instead of an opaque id.
A channel now shares a chat's layout, and a mention refused by a usage limit stays in the thread instead of vanishing.
A call now shows its spoken lines word by word beside the written answers and keeps them in the thread afterwards. Voice also knows whether the chat is on screen, and the feature is now called voice mode.
The Productivity bundle can now draft follow-ups after your meetings each evening.
After a successful connect you land back where you started instead of on a generic page.
You no longer need to be the channel's owner to invite colleagues into a public channel.
Rate any message in a channel with a thumbs up or down. Counts are public, so everyone in the channel sees how a message landed.
Opening a chat now shows the actual thread and composer straight away, with messages hidden until they arrive, so the page no longer jumps when it finishes loading.
Channel messages now show an action bar on hover and a More menu for the rest. On phones, tap a message to open it.
When the voice assistant answers casual talk itself, that exchange is now stored in the call's chat. The chat also takes the thread layout as soon as a call begins.
A thread you open in a channel now gets its own link, so you can share it or return to it directly.
When you report a problem with a chat, the assistant now lays out what it observed apart from what it infers.
Voice calls answer faster and hand longer work off to the full agent.
Invite-only chat shares now work for people without an account. They get an email, verify their address and land in the shared chat.
Confirmation and question cards can be clicked while you talk, and interrupting the agent queues your words instead of losing them.
Load earlier messages as you scroll back, and copy a link that opens the channel at that exact message.
Fix a typo or remove a message you posted. Edits are marked on the message.
Conversations are now grouped in three sections, so channel threads and direct messages no longer mix with your own chats.
Message any member of your organization one to one, next to your channels.
Archive a thread or mark it read for yourself without affecting other members.
New channel messages appear without a refresh, and you can choose how loudly each channel notifies you.
Channels use the same composer as chats, including attachments and @mentions of people.
The agent now reads messages that don't mention it and chimes in only when it can help, in every web channel, including existing ones.
Messages from people in channels render as formatted Markdown, with mentions shown as chips and roomier message rows.
The share dialog has an explicit Add button and warns you before closing with an address you haven't added.
In shared chats and channels each member's thumbs up or down is their own, rather than overwriting someone else's.
The text of the agent's answer appears in the chat as it speaks.
Approvals for sending messages apply to that specific call, and scheduled tasks can be granted their recipients up front.
A new Voice page in settings lets you pick the voice used when Ghostlyn reads replies aloud.
Ghostlyn now guesses how to address you in languages with gendered forms, and you can correct it in your account settings.
Act on a highlighted row from the keyboard, such as toggling read state. The shortcuts dialog lists them all.
Pressing anywhere outside a toast notification now closes it.
The agent in a channel can now answer only when mentioned, messages offer Reply in thread, and a Your channels list shows the channels you belong to. The channel page also got a round of layout polish.
The open chat's title now shows in the desktop header and can be renamed there, and on a phone you can rename it from the header too. Menu items lost their trailing ellipses.
The search palette now has a tab for channels and the messages inside them.
A chat whose latest reply failed is now marked in the sidebar and in the Chats list.
A time label now appears above a message that arrives after a gap of an hour or more, so you can tell when a conversation picked back up.
When the agent in a shared place needs something only one person knows, it sends them a request they can answer on a page or in Slack.
The agent can draft an answer from your own connected accounts, such as Gmail or Calendar, for a shared place. Nothing is posted until you approve it.
A voice call or dictation session that goes silent for a long time now ends instead of staying open.
Live transcripts drop "um" and "uh" while keeping meaningful sounds like "mm-hmm".
The sidebar and the Chats list now group conversations into waiting on you, working and earlier. Hovering a status dot names it.
During a call your words stream into the chat as you speak, including when you interrupt a reply, and tool steps show as they do in a typed turn.
The MCP setup list now has a heading, and connected clients show an icon when there are none.
Create buttons on the Chats, Projects and Tasks lists collapse to an icon on small screens, and task, chat and webhook cards stack.
Each row on the Chats list now shows the latest message instead of the first one.
Teams can talk in web channels with threads and mentions, and move an existing chat into a channel. Browse them on the Channels page.
The bundle reach screen now shows all the domains an app can connect to, labeled in plain words.
Members can set a profile photo that shows in the sidebar. Change it in account settings.
Your organization's agent now answers when it is mentioned in a public Slack channel.
Create tasks that belong to a project and run as the organization's agent rather than as one person. Find them on the Tasks page.
The create dialog lets you scaffold a skill or app directly, skipping the agent conversation.
Drag files onto the Files section in a project's sidebar to add them.
On a phone you can begin a voice chat straight from the header.
Expanded folders stay open per project and volume when you come back.
Members of an organization can read the bundles it owns, without a separate visibility setting to manage.
A bundle can now keep shared credentials and accounts, so the whole team uses one connection instead of each person setting up their own.
Have a reply read aloud with a player that highlights each sentence as it is spoken and lets you seek through the audio.
When a scheduled task keeps failing, you get a single notification for the streak instead of one for every failed run.
Voice and audio costs now show separately on the usage chart.
Chats, projects, bundles and tasks now sit in the same 768px column as the chat, with one consistent list style.
Pick a date on a calendar, type a time or choose a 15-minute slot, and set repeats from a menu named after the chosen day. Repeating tasks get a start date, and monthly tasks can run on the last day of the month, with a note when a day skips shorter months.
The composer shows a rippling level meter instead of a spinner while it waits.
A task without a title is named from its instructions, and one-off tasks can now be paused or cancelled like repeating ones. The schedule tool accepts a start date, and scheduled notifications skip the run narration and say when to notify you.
The call button is now named Start voice call and opens with Ctrl-Shift-V. The shortcut hint no longer mentions Hold.
Each client appears as a logo row in an accordion, and Grok is now on the list.
Bundle pages edit these lists one row at a time instead of through a pencil edit mode.
The Gmail connector can now save an attachment from an email as a file.
Audio streams from the first bytes, so playback begins without waiting for the full clip.
Start a realtime voice call from a chat and speak with the agent instead of typing. It can work on tasks while you talk.
Files set in Aptos now preview with a matching font, so text wraps where it does in Word and PowerPoint.
A personal organization can now invite people and grow into a team. The invite option moved from the sidebar to Settings, Organization.
Each task has its own page with its schedule and instructions, and every run opens at its own link. The task list also gained a row menu and a new task page.
Tone preferences you set in Home now take precedence over the agent's defaults.
When a task needs an account you have not connected, the agent now offers the connection right in the chat.
Connecting Gmail asks for read access only. You can upgrade to more permissions later through Allow changes.
A new skill in the productivity bundle summarizes your mail, calendar and tasks each weekday morning.
Signing in to the web app from Slack for the first time now lands you in the onboarding chat.
The AGENTS.md file in a project's file tree is labelled Instructions, and a tooltip explains what it does.
Bundle file names keep the case you typed but match regardless of case, so a path no longer fails over a capital letter.
Outside agents connected over MCP now get guidance to read and write your team's shared knowledge.
Documents you upload in a chat are kept as files in that chat. The agent is also told when it may not have seen a tool result.
New and temporary chats now open with the same empty state, and temporary messages get a dashed outline so you can tell them apart. The heading no longer shifts when you toggle temporary.
The tab you pick on the MCP and browser search settings pages now lives in the URL, so a reload or a shared link opens the same tab.
Before deleting or changing something it cannot undo, the agent asks with options such as Delete and Cancel rather than a generic confirm card.
When the agent hands work to a background run, its progress appears in the chat as a live card instead of an entry in Tasks.
A run of tool calls in a chat now collapses into a single line that says what happened, and you can expand it for details. Opaque tool calls also carry a short description of what they were doing.
Start a chat that skips your history and expires after 30 days. Find it in the chat actions menu.
In Slack, groups of tool calls now appear as task cards that update in place as the agent works.
The connector form now has an Add scopes button in place of the placeholder scope text.
The Word bundle can now change text inside a .docx you already have and keep the rest of the file intact.
Using /clear now archives the current chat instead of leaving it behind, so you can find it later.
Downloads such as images and documents now move through fetch and your files without being corrupted.
On a phone the chat header is now a single left-aligned row, and the composer floats over the thread.
The agent now keeps links on listing pages, drops listing images, returns medium pages whole and retries when a site blocks bots. Requests to the same site are also spaced out.
A send button now sits beside stop while you dictate, so you can send without stopping first.
Sidebar rows, text and icons are bigger on phones, and the whole interface scales together.
Provisional words appear while you talk and the last word is committed at each pause. The final moments of speech are no longer cut off.
The Sharing page in settings now uses the chat Share icon and a short empty-state message worded like the other lists.
Documents the agent writes now use the styles of a fresh Word 365 document and keep bullet lists tight like Word does.
Hold the dictation button or its shortcut in the message box and speak, and your words stream into the composer as you talk. The button stays hidden when dictation isn't available, and an out-of-credit notice tells you when it can't run.
Every project now appears on the Projects page, and pinning happens only there.
The markers next to a project title sit closer together, and the edit pencil takes their place while you rename.
Word, Excel and PowerPoint files now render right in the bundle file view, so you can read them without downloading.
The chats page has a search box that filters the list by chat title.
Fields you can't edit no longer fade out like disabled ones. They keep their normal contrast and read as read-only.
Hints that only appeared in tooltips now sit where touch devices can open them, across bundles, tables, tasks and dialogs.
Project rows and the project page now share one actions menu, which replaces the time on hover. Pins are explained in a popover, and Home shows its lock before the pin badge.
The explanation for built-in bundles now appears as a tooltip on the Built in mark.
The search box on Connections now uses the same magnifier input as the rest of the app.
When you open a bundle in your organization that you can't use yet, you can now ask for access. The owner gets an email and can grant it from the bundle's sharing settings.
Dialogs, dropdown and context menus, popovers, tooltips, sheets and the sidebar have a cleaner, more consistent style throughout the app.
A task can now get its own inbound webhook URL, so another service can start it with a simple request. Manage the URL from your tasks list.
Tools that send email or chat messages are now refused when a task runs without anyone watching. This keeps a scheduled or webhook-started run from messaging people unprompted.
Connect a bundle to a GitHub repository and keep both sides in step. Changes you make in Ghostlyn push out, and changes in the repository pull back in.
The assistant can delegate a long job to an independent agent that works on its own. You can follow its progress as a task and get the result when it finishes.
Speak instead of typing and your words are transcribed into the message box before you send.
Clients that identify themselves with a metadata document can now connect, and the consent screen shows which host is asking for access.
Tools now report exactly what they did, and a failed background run is not retried when a retry could send something twice.
Ghostlyn now identifies itself to MCP servers that support client metadata documents, so connecting to them needs no pre-registration.
Headers for tools such as Gmail, Calendar and Docs now show details from the result, like the message or event involved, instead of a generic label.
Your MCP settings now list every client connected to your account. Revoke one to cut off its access.
A new core productivity bundle includes an inbox skill that works through your Gmail and learns your writing voice for drafts.
Play any assistant reply in the web chat as speech, so you can listen instead of reading.
When you ask the agent to rename a bundle in its bundle.json, it now lists the dependents that the rename breaks.
A chart now shows its title, axis values and axis labels right in the conversation, on a taller frame, instead of only when opened fullscreen.
A built-in Word bundle lets the assistant produce .docx files in chat, ready to download and open in Word.
A new core Diagram bundle draws Mermaid diagrams right in the conversation instead of showing the raw code.
When you open a widget fullscreen, the chat it came from stays docked next to it so you can keep talking without leaving the view.
Setting up bundle sync now offers dropdowns for the repository and branch instead of typing them by hand.
The sharing page lists every chat and answer link you created. Copy or open a link, limit it to people you invite or stop sharing it.
Each task on the tasks page shows the projects it starts from, and the project badges link to those projects.
Fields and bordered buttons now mark focus with a darker border, and outline badges have a muted fill with darker text.
The pin is now a toggle in the project header, and the sidebar no longer shows a pin icon beside pinned names.
The home page now uses wide screens better.
New shortcuts archive or delete the chat you have open, and they appear in the shortcuts dialog.
The Home project now says why it can't be renamed, archived or deleted.
Short pages are no longer summarized, and each fetch is held to a single 45 second budget.
Archiving from inside a chat takes you back to the chat list, and Undo reopens that chat.
Messages and the composer now render at 17px on phones.
The built-in mark is now an outlined ghost traced from the logo.
When you change a project's description, its Overview examples are regenerated in the background.
Projects now have an Overview panel, linked from the sidebar menu. It shows the owner beside the title, with a Ghostlyn mark for built-in projects, and puts dependencies below the examples with pencil edit controls.
Switches across the app, including notification settings, now use an outlined style.
The project page menu now has Archive and Delete, and the sidebar project menu keeps the two clearly apart.
Project detail panels now run Sharing, Sync then History, and the files section shows only counts.
The project page now has the same chat input as a regular chat, so you can start work from a project without the reduced box.
Each project in your list now has quick actions to archive, delete or pin it without opening the project first.
Ghostlyn now steps in to speed up a sluggish skill on its own, instead of waiting for you to flag it.
Clicking a skill, app or connector on Customize now opens an Overview page instead of a form. It shows what the item does, one action to try it, what it needs connected and up to four example prompts that open a chat with it switched on.
Ghostlyn now flags a Slack install whose token has stopped refreshing and shows a Reconnect action right there, instead of leaving messages silently failing.
A project's home page now has a sidebar showing who can access the project, along with the files, tables and tasks its chats use. You can see what a project holds without opening each chat.
An app opened on its own page now connects to Ghostlyn while the page is still loading. You can use it right away instead of waiting for the page to finish loading.
A bundle's overview, files, tables and settings now all sit under one link, so links you share or bookmark stay consistent. Older links still redirect to the right page.
The word "bundle" is gone from the pages, dialogs and activity entries you see most, which now use terms like project and skill instead. The support and create skills also answer in the words you use.
An empty chat now lists the projects and skills it will use, so you know what you are working with before you type.
Integrations is now called Browser search and your organization's section is labeled as yours. Organization settings are also linked where you need them.
The tables list has moved from the sidebar to Settings, which leaves the sidebar for chats and projects.
Installed rows in Customize now have a Try it button that opens a chat ready to use them. A link that prefills a skill waits for you to send it instead of running on its own.
The MCP and Native badges in Customize now have an icon, and hovering over one explains what it means.
Every table on the Tables page now shows a Shared or Only you label, so you can tell at a glance who else can see it.
A bundle's admins can now write to that bundle's read-only tables instead of being blocked like everyone else.
Projects have moved out of Customize into their own page with a New project dialog, so starting one no longer means digging through your bundles.
The old Add bundle menu on Customize is replaced with distinct Add and Create dialogs, making it clear whether you are installing a bundle or building your own.
The Bundles page is now called Customize and the Registry is now Community, matching the terms used throughout the product.
Each bundle's sidebar now has its own Tables and Tasks sections, so you can find what it stores and schedules without leaving the bundle.
Notifications now match light or dark mode and show a small icon for each type, with shorter titles that are easier to scan.
Delete a chat for good from the chat list or from its thread's actions menu.
A chat marks itself unread when a reply finishes while you weren't looking, so you can spot what needs your attention.
Chats you want out of the way but not gone can now be archived from the list or a thread's actions menu, and hovering a row surfaces quick actions without opening it.
The inline title editor now behaves consistently for chat titles and sidebar renames, drops stray hover and focus backgrounds, puts the caret where you click and prompts for what a project is for when its description is empty.
You no longer have to expand the sidebar first to switch projects.
Select several files in the tree and press delete to remove them all in one action.
Home is listed first in the sidebar, and trying to rename it tells you it can't be renamed rather than doing nothing.
Click a project or bundle's title to rename it inline instead of hunting for a separate action.
Project actions in the sidebar now live behind a single menu instead of cluttering the row.
The organization Activity log now shows that a member exported or shared a private chat or personal bundle, and when, without revealing its title or path. The privacy policy was also corrected to accurately describe where data is hosted and processed.
Open a project from the sidebar and land on its own page, with its chats listed, a composer that starts a new chat in it and its files docked at the side.
The agent can read every message in a Gmail thread instead of just the latest, revise a draft in place instead of recreating it, and link straight to a thread or draft in Gmail.
The Gmail bundle can now delete drafts and move messages or whole threads to trash, not just read and send mail.
Send more messages in a Slack thread while Ghostlyn is still replying, and it now finishes that reply first, then answers everything you added in one follow-up.
When the agent writes code to process data, that code can now call a connector's read-only tools directly, so a bulk lookup no longer takes one tool call per item.
Google, Gmail and Contacts actions now read like "Reading range A1:D20 from a spreadsheet" rather than printing a 44-character document id.
The bundles list now labels a built-in bundle that can't be turned off, instead of leaving its action column empty.
A script run as part of a task can now return binary output like a generated image or document, read larger files, and reach the network with fetch and more Node.js built-ins.
A markdown table too wide for the chat panel now scrolls horizontally with a soft fade at the edge showing there is more, instead of cramming every column into view.
Set up browser search for the assistant from Settings > Integrations. The separate public setup page is gone.
The changelog is now open to logged-out visitors, with a month-by-month rail to jump around.
The bundles list now groups entries by ownership and shows capability badges, so it is easier to tell what is yours, shared or built in.
Project badges in the chat list now link straight to the bundle they belong to.
Add Ghostlyn as a browser search engine from Settings, then start a new chat by typing your query after the shortcut.
Link a GitHub account with read-only access first, and upgrade to read and write later when you actually need it.
Installing a bundle from the registry now shows first which hosts, connections, credentials and tables its tools can reach, plus any bundle it installs alongside.
Installing a connector-based bundle from the list now starts the connection in one step instead of sending you elsewhere first.
Removing a connector now takes its connected account with it in one step, from either the bundles list or your connections.
When a tool needs a connection, a single card in chat now installs the connector and grants it access, without leaving the conversation.
Registering an existing MCP connector now raises the same confirmation toast as installing a new one, so you always know it took.
Double-click any project in the sidebar to rename it in place, no menu required.
Connecting GitHub from Settings > Connections now walks through installing Ghostlyn's GitHub App and choosing repositories, instead of granting full account access through OAuth. Access is scoped to the repositories you pick and limited to their contents, issues and pull requests.
Installing a bundle now shows a confirmation toast naming it. When the bundle has an obvious way to be used, the toast carries a button that jumps straight into a new chat with that bundle already active.
You can now accept an invite while already signed in or already holding an account, and invited teammates skip email verification entirely.
When a bundle is about to use a credential you've connected, Ghostlyn now shows a consent prompt naming the bundle before it goes through.
The home page now downloads a fraction of the image data it used to, so it opens noticeably faster.
Pages outside the sign-in and sign-up forms no longer load reCAPTCHA, so the rest of the app loads a bit lighter.
Icon buttons, the password field and other small controls now meet a consistent minimum tap size, making them easier to hit on a phone or a trackpad.
The question you asked stays pinned to the top of the thread once a reply starts, so a long response never pushes it out of view.
Searching Gmail now fetches matched threads at the same time instead of one after another.
Large file trees no longer rebuild themselves on every render, so browsing stays smooth.
The General tab now locks the dependency list for system, reserved and MCP bundles you don't own, with a padlock that opens an explanation when you tap it.
Bundle, table and task search results now highlight the term you searched for, making it easier to see why each result matched.
When a tool opens a widget you can already see, the agent's text reply no longer repeats the same information.
The marketing home page has a new layout, tighter copy and a sharper hero screenshot.
Visitors browsing from the UK now see plan prices in pounds instead of dollars.
Each connection now shows its own colour logo, including a fetched site icon for connectors without a built-in one.
Scaffolding a new bundle now opens straight into its starter file instead of the general bundle page.
Bundle history now marks changes made by the agent and lets you filter the timeline by who made them.
Each sidebar item now shows a plain-language explanation on hover, with a short delay so it does not flash by.
Exporting chats now bundles both formats into a single downloadable archive instead of separate files.
External links inside chat messages now show the site's favicon so you can tell where a link leads before clicking.
When an answer uses search or fetched pages, the agent now names the sources it drew on.
One search now covers chats, bundles, files, tables and tasks, with per-tab counts and fewer repeated requests while you type.
Dropping a folder into a bundle now uploads its text files in chunked batches instead of one write per file.
A scheduled task can now be edited in place, changing its prompt or the projects it runs against without recreating it.
Chat now shows the images the agent read and which model produced each answer.
A fullscreen widget now has a back-to-chat icon so you are not stuck without a way to return.
The offline page now uses the same font, weight and error-card styling as the rest of the app.
Shared chat and message links now unfurl with a preview card when pasted into Slack, iMessage or other apps that read link metadata.
You can now rename a chat directly from the /chats list instead of opening it first.
You can now share one message from a chat instead of the whole conversation, so recipients see just the answer that matters.
The @ mention picker now offers files from every bundle you have access to, not just the current one.
Public share pages now render the same interactive app widgets from your chat, read-only, so recipients get the full picture without signing in.
Files can now reference each other across bundles with a slug:relpath address, and links resolve and preview correctly wherever they appear.
Long chats now show a marker when older messages get compacted to save space, plus a live indicator while compaction is running.
Tab strips across bundles, the mobile panel and other views now share one component, which fixes keyboard navigation and focus handling that varied before.
The remove tool can now delete every record matching a where filter in one call instead of one at a time.
You can now type and send a new message while the assistant is still responding, and it queues up instead of getting lost.
Removing records now moves them to trash instead of deleting them outright, and the action shows up as revertible in chat.
Bundles now have a Duplicate action that copies one into a new bundle to start from.
CSV files in a bundle now open as an editable spreadsheet-style grid instead of raw text.
API calls made while your session has expired now get a clear failure response instead of failing silently, while a real page load still sends you to sign in.
You can now leave an organization yourself, and an admin can remove a member directly, both from account settings.
The changelog page now shows bug fixes as a short title-only list, keeping full write-ups for new features and improvements.
Failed actions across the app now surface the actual status and message instead of a generic error, so the toast tells you what went wrong.
The assistant now infers context from whichever page you are viewing instead of only an open file editor, so it can act on the right thing without you restating it.
Organization usage and cost history now lives in its own ledger, so it stays accurate even after a member, bundle or chat is deleted.
You can now delete your own account, and an org admin can delete the whole organization, without waiting on support.
The chat dock now mounts once in the app layout instead of per page, so it keeps its state as you navigate, and a handful of context bugs there are fixed.
Download every bundle in your organization as one zip snapshot, with accurate file counts. Anonymous requests now redirect to sign in instead of hitting a 404, and the export runs synchronously so you get the file right away.
A new optimize skill reviews an existing skill and tightens it up, alongside the skill creation flow.
Pinning a bundle now derives which of its skills should activate by default, instead of requiring a separate step.
The GitHub repo listing on the bundle sync page now loads after the page instead of blocking it.
Native selects, icon-only buttons, disclosure toggles, composer pickers and the data table's sort headers all now carry proper labels, aria attributes and keyboard support, and form errors and save status are announced to screen readers.
Drag a folder from your machine straight into a bundle and its files come in together, instead of adding files one at a time.
Renaming a bundle now warns you first if other bundles depend on it, so you can avoid breaking them.
When a sandboxed script crashes or times out, the message now explains what happened and hints at browser globals that are not available.
An embedded app can now ask its host frame to expand, for a fuller view when it needs the room.
Errors in one section of a page are now contained to that section with its own error state, and the navigation progress bar no longer rewinds mid-submission.
Copying the transcript moved out of the export dropdown to its own control, and the export button's tooltip is back.
A bundle can now supply its own preview for a tool call instead of the generic output view, starting with a richer Gmail thread preview.
Gmail tools are now gated on the specific OAuth scopes you approved, so a read-only connection cannot reach send or delete tools.
Open a bundle file's revision history and jump to a past version directly from the chat, with a read-only caption marking older revisions.
If a model provider fails on the first try, the agent now automatically fails over to another provider instead of erroring out.
A scheduled task can no longer run more often than a set floor or pile up unbounded pending runs.
Org admins get a dedicated page to pick which models are available to the organization.
A changelog page now lists recent updates, with an unseen-changes dot on the sidebar so you know when something new landed.
The run tool's code section reads like an editor instead of a plain text block, so the language, keywords and strings stand out at a glance.
The three panels on a bundle or app page now fold into tabs on a narrow screen, so the file tree, editor and chat panel each get the full width when you switch to them.
Add Ghostlyn from your browser's share or menu options for a chrome-less app icon with push notifications on iPhone, and a friendly offline page when your connection drops.
The export menu on a chat now lets you pick the format you want instead of always writing markdown.
Ghostlyn now prefetches the page behind a link as you hover or focus it, so clicking through the app feels instant.
Find text across every file in a bundle, including files it links to in other volumes, with matching snippets shown right in the results.
Adding tools mid-chat now shows as its own labeled entry in the conversation instead of blending into other activity.
Install the new wiki bundle to keep a compiled knowledge base current as your team's other bundles change.
Every credential now requires a domain, and bundles can only use the credentials that match it.
Symlinks in a bundle show up correctly when browsing files and survive imports, exports and git sync.
Chat owners can share a conversation through a link and manage who has access from a share dialog. Anyone who opens it without access sees a read-only view.
Add an image to a message from the composer and view it inline in the transcript.
Download a single chat as markdown or JSON, or pull your whole chat history as a zip.
Request the privacy or terms page as markdown by asking for the .md path or setting an Accept header.
Usage charts now read the recorded cost and tier for each entry instead of estimating it after the fact.
Ask the agent to read an earlier version of a bundle file or restore one, from any platform including Slack.
Undo a file change the agent just made directly from the message that made it.
Bundle history now shows changesets that have not committed yet, and closed ones carry an automatic description and a commit message drawn from the chat request that caused them.
Link a bundle to a GitHub repo from its Sync panel, then push committed changes and pull incoming commits automatically.
Connecting to an MCP server no longer waits on a full catalog sync, and connecting twice in a row reuses the first attempt.
When embedding search times out, recall now falls back to full-text search instead of returning an error.
Long chats now load earlier messages on demand instead of all at once, and heavy tool output loads only when opened.
See past changes to a bundle's files in a history panel, and open the same history from the file editor.
Reimport a bundle you exported earlier as a zip to recreate it with its files and structure intact.
Pull a table's rows out of Ghostlyn straight from the tables page in whichever format you need.
Copy formatted text from a document or webpage into the chat composer and it lands as clean markdown instead of raw HTML.
A result that counts or reads table rows shows a link to the table and its record count, so you can jump straight to the data.
Download any bundle file as its original bytes, including binary files that copy-paste couldn't capture before.
Download every file in a bundle at once from a button on the bundle's general panel.
See setup steps for seven MCP clients, including Claude and popular editors, from MCP settings.
Saving a script in the bundle editor now flags type errors instead of staying silent until it runs.
Accepted, skipped and expired states in chat dialogs read consistently and are announced for accessibility.
Removing a bundle from the registry stops offering it to new users without deleting what existing installers already have.
The dependency search field now works properly with screen readers and keyboard navigation.
A bundle no longer shows up under Connectors when it isn't one, since widgets, tools and connectors are now told apart.
An organization-wide bundle can now move back into one member's personal space, closing every access path the org-wide share had opened.
Gmail, the Google connectors and Sprites moved out of the built-in set, so they now show up on Bundles as something you choose to install.
A chat title in the list no longer shows a bare number beside it that read as part of the title.
Charts plot straight from your data without reloading the page, hand fullscreen over to the surrounding chat panel, and their chip now reads as a plain label instead of an odd tense.
Ask for a chart and Ghostlyn draws it right in the conversation from your data, no separate app or export needed.
A skill app now mounts the moment its tool call begins and streams its arguments in, instead of waiting for the call to finish.
Tools and apps served by an external MCP server now render and run inside your chat like a built-in bundle.
A bundle's apps, tools and tables can now be reached by any external MCP-compatible host, not just Ghostlyn's own chat.
When a chat app hits a sandbox error, it now surfaces as a notice in the chat instead of failing silently.
A skill app can now declare the browser permissions it needs and control whether it renders with a border.
Installing a native bundle that needs a credential prompts you for it immediately, with a card right in the chat to add the key.
Usage charts now scale against the daily pace of a period, so a partial month compares fairly against a full one.
Clicking a link inside a chat app now opens a new tab instead of navigating away from your chat.
A bundle without a default app entry no longer gets a sidebar link that leads nowhere.
The shared search input now autofocuses and responds to the search keyboard shortcut.
When two bundles share a slug, the picker now shows which one is shadowed instead of leaving it ambiguous.
Connector and agent tool calls now read as add_tools and invoke, and activating a bundle whose slug matches another one resolves correctly instead of guessing.
A chat that needs several bundles now offers one confirm dialog to install all of them, instead of one at a time.
Pages like your connections and credentials list now show a clear empty state instead of a blank space when there is nothing to show.
Searching bundles now switches to the first tab that has results, instead of leaving you on an empty one.
The bundle file editor now distinguishes how a skill is invoked from whether it auto-activates, instead of conflating the two.
A bundle can now declare dependencies that activate together with it, and a flag controls whether a bundle auto-activates when a chat needs it.
Sprites moved from an MCP connector to a built-in bundle you can activate directly from Bundles.
Tool calls now show the server and tool name in slash form as soon as they run, with the full title moved into the expanded body.
Every chat error now renders from one place, dropping the old first-person apology text.
When a connector fails to register you'll now see the actual reason instead of a generic failure.
The system bundle stays auto-pinned, keeping your mention list focused on bundles you're actually using.
Adding a connector now uses the same discovery form everywhere you can add one.
The observed timestamp for a bundle version now shows in a Since tooltip instead of cluttering the row.
Running a skill script now shows its logs right in the chat, and scripts return their result explicitly instead of relying on captured output.
Attach larger files, images and documents without hitting the old size limit.
The projects tab on Bundles now explains itself in simpler terms.
A moderated registry of shareable bundles now lives right on the Bundles page, so you can browse and install one without leaving it.
Your individual workspace is labeled Personal everywhere instead of showing your name or email as an organization name.
Changes you make on a bundle's General page now write straight through to its underlying manifest, including its declared dependencies.
Bundles shared with you now show where that access came from, and you can grant access to a specific teammate or your whole organization.
Scrolling in an active chat is smoother and keeps pace with new messages instead of jumping around.
On bundle, tables and app pages, the chat panel can now collapse to a slim rail that animates alongside the sidebar, giving you more room to work.
On an app's page, the assistant now knows which app you're using, can act on it in the same turn, and the view refreshes automatically after changes.
Reopening a conversation now rebuilds it consistently, so what you see matches what actually happened.
Uploading a file to a chat now indexes in the background instead of holding up the assistant's next reply.
Forms the assistant shows you in chat now submit natively when you press enter, instead of requiring a button click.
Following a link straight into a skill starts the conversation with a greeting instead of leaving you at a blank chat.
Typing # in the composer opens a bundle picker so you can pull a specific bundle into the conversation.
Reloading mid-conversation no longer loses these dialogs, and tool activity now folds into a compact chip instead of cluttering the chat.
Drag a file or folder from one volume to another instead of having to delete and re-upload it.
If a search hits a rate limit, Ghostlyn now retries it instead of failing the request outright.
The system bundle that powers Ghostlyn's own skills now shows up alongside your other bundles.
The invoke_agent tool now returns typed, structured output, and files in your Home volume are exposed as resources for connected MCP clients.
When an agent needs several pieces of information at once, it can now show a single form dialog instead of asking one question at a time.
Ask an agent to move a file between bundles and it now works, instead of only within the same bundle.
Read, save and table tool calls now show frontmatter as a key or value block, the record fields that were written and the bundle name, and their links open the current bundles page.
Decisions an agent asks you to make on the web now show as confirm or ask dialogs with buttons, instead of plain text you had to reply to.
Chips for tool calls in chat now read like a short description of the action instead of the tool's internal name.
A widget an agent opens in a chat now includes a view link that works from Slack and the command line, not just the web app.
A connector missing configuration can no longer be installed until it's set up, though admins get a Set up shortcut, connector rows show their transport as a badge and the Add bundle dropdown drops redundant labels.
Your Home and organization bundles now come with a description already written, instead of blank.
A skill's frontmatter fields now have their own Properties form, and it remembers whether you left it expanded or collapsed.
Tabs now run Projects, Skills, Apps, Connectors and Other, each with a description and a count that follows your search, an Installed badge shows at a glance, and skills get their own tab with a context chip filter.
Every bundle's detail page now has an install or uninstall control, and uninstalling only removes bundles you personally installed.
Editing an organization credential shows up as its own event in the activity log.
Each member can now pin their own project bundles regardless of what the team pins, with a clearer Pin or Unpin button next to Install.
Sidebar projects sort alphabetically, clicking one preselects it in a new chat, and the chats list shows which project bundles are active.
Bundle forms are narrower with a consistent width, show a save status indicator, and drop the slug field and the required-field asterisk.
Skills, apps and connectors now draw their icons from one shared map, and the Distribution tab uses a globe icon.
Create a bundle from scratch with a guided scaffold flow, import one from a GitHub repo or a SKILL.md URL, or add an MCP connector directly from the bundles page.
Add an icon.svg to a bundle and it shows up as its icon throughout the app instead of a generic placeholder.
The project selector in chat now shows your pinned project bundles apart from the ones you can still add.
A bundle can now describe its data tables with a JSON Schema for proper field types and validation, and app previews now work for bundles with spaces in their name.
Removing the last admin from an organization's member list is no longer possible.
Asking an agent to build an app now uses a single unified authoring flow instead of a separate app-starter skill.
Buttons show a loading state, status badges and colors are more subtle, dark mode elevation and focus rings are clearer, and invalid fields are marked for accessibility.
Native connectors requiring a credential now walk you through adding the key instead of failing silently.
App starter, create, discover, onboarding and support now ship together as a single built-in Ghostlyn bundle instead of five separate ones.
Tool call headers now show slugified bundle, skill and MCP server names in a consistent skill/tool format, along with the file or skill that got loaded. The sharing tool is labeled "sharing" instead of "access", and search results show "bundles" instead of "skills".
Loading a bundle shows separate bundle and skill icons with a link straight to the skill's documentation, and an install prompt shows the bundle's own description card. Reading part of a file shows which lines you got, and writing a file links straight to it.
Google Workspace bundle descriptions dropped the repetitive phrasing telling you when to use them, and MCP connector bundles now get descriptions generated from their own tool catalog instead of a generic placeholder.
A failed connector setup now shows a warning toast, a retry button on the bundle and a banner in the chat that started it, telling apart access-denied from sign-in-required errors.
Finishing sign-in for a skill's connection now confirms its connect dialog automatically instead of leaving it waiting for you.
Finding a bundle through search now returns a link you can click straight to it, instead of just its name.
The create skill now writes your bundle's files right away and only pauses to ask about genuine gaps, instead of walking you through a separate creation tool step by step.
Bundles no longer show a separate internal name and display name, just one human-friendly name wherever you see them.
Bundles can now hold images and other binary files, which you can upload and view alongside your text and script files.
Some connectors can now be set up with an API key entered from your credentials, instead of signing in through OAuth.
Bundle transport labels changed from "MCP server" and "Local tools" to the shorter "MCP" and "Native".
Installing a bundle and connecting its account are now separate steps, with inline connect and reconnect buttons and a search box for finding a connection. Bundle installs wait for sign-in to succeed before completing, and the ready toast waits until you're back before it appears.
Gmail, Calendar, Docs, Drive, Sheets, Slides, Tasks, Chat and Contacts are now separate bundles you install individually, instead of one all-in-one Google Workspace bundle.
Asking the agent to read a connector resource link now resolves and fetches it directly, instead of needing a separate lookup step.
The Notion integration switched from a built-in skill to an MCP connector, connected the same way as other integrations.
Finding bundles and tools now matches more of what you are looking for by combining keyword and semantic search with type filtering.
Installing a bundle that needs an external account now sets up the connection and loads its tools right away, instead of waiting until first use.
The bundles page sorts what you have installed to the top, and bundles beyond the core set are opt-in rather than on by default.
Ghostlyn now installs its core system bundles for you on first load, and loading a bundle in chat shows as a clear Installed or Loaded card.
Choose which bundles are active for a conversation from a new selector on new and existing chats, replacing the old dropdown.
Gmail, Calendar, Drive and other Google Workspace tools each get their own connection now, so granting access to one no longer requires granting all of them.