Two-factor sign-in works in Firefox, and recovery codes work at all
In Firefox, typing the sixth digit of an authenticator code cleared the field and left you on the code page, with no message and the code in the address bar. The page sent a pretend submit that Firefox also treated as a real one, which reloaded the page and cancelled the check. It now submits once, the same way in every browser, and the code never goes into an address. A wrong or expired code shows a message under the field that stays until you try again. Recovery codes had never worked: Cortex removed the dash before checking a code that is stored with one. They now work with or without the dash. Three gaps in the same step are closed too. Each code works once: a code that has signed you in cannot be used again, even while it is still valid. Wrong codes count: five wrong passwords or codes in a row lock the account for fifteen minutes, where before a code could be guessed without limit once the password was known. Return links: a sign-in link could name any address to go to afterwards, another site included; now it goes only to a page on Cortex. See Signing in and MFA.
The page tree opens closed, remembers what you open, and can list pages by last change
A brain of a few hundred pages used to open with every folder expanded, which meant a lot of scrolling to find anything. Folders now start closed, the ones you open are remembered in your browser for each brain, and two buttons open or close them all. Reaching a page by any route opens the folders above it and brings its row into view. A new Recent order lists every page in one column, last changed first, with its folder and how long ago it changed; click the folder to go back to the tree, opened there. Name stays the default, and folders now sort A to Z whatever their case.
The run line says which pages the runner read, in what pieces, and how much came back
The line the runner writes on every inbox item has listed, turn by turn, which tools the model called. It now says what each call asked for and how big the answer was: the words of a search, the page a read named and whether it asked for the whole page, one section or the headings, which long pages came back as their outline and opening, and the page and heading of each edit it drafted, each with the size of what came back in thousands of characters. A failed call says so in place of the size. Page content never goes in the line. The first use is a question we could not answer last week: why a meeting now takes twice the turns it took before 8 October. The line will show whether the long pages are being read twice, and which ones.
Mail threads arrive without their signatures, disclaimers and quoted copies
Every message in a mail thread carries things no reader needs: the sender’s signature block, the legal disclaimer under it, an unsubscribe footer, tracking codes on every link and, in replies sent from Gmail, a copy of the earlier messages with no marker to say so. Until now all of it was stored with the thread and read by the runner on every turn. The door now takes it out before the thread is stored, in code, on every route in: the signature from the sign-off down, the disclaimer and footer paragraphs, the tracking codes (a link wrapped by Outlook’s SafeLinks is unwrapped), and any paragraph that already appeared in an earlier message of the thread. What was said stays word for word, the header is untouched, and the item’s log says what went and how many characters it saved. A thread that is already clean is logged as such.
Agents are told which argument is wrong, can undo a bad write, and cannot empty a page by mistake
Three fixes for the agent connection, each from a real incident. Wrong argument names. An agent that called a tool with an argument the tool does not take, or without one it needs, got back “An error occurred invoking” and nothing else; one agent read that as an outage and worked round a server that was fine. Now the reply names the missing and unknown arguments and lists what the tool takes, before the tool runs, and says when only the letter case is wrong. Page versions. An agent can now list a page’s versions, read any earlier one by its number, and restore it, all over the connection. A restore is saved as a new version through the normal write path, so the history stays complete and the restore can itself be undone; the agent can pass the version it read and be refused if someone has saved since. Until now only the web app’s history panel could restore. Replacing a section that has sub-sections. Replacing a page’s title section used to replace everything under it, which on one page was the whole page. Now an agent that replaces a section with sub-headings under it has to say whether they stay or go; until it does the edit is refused, with the sub-headings named. The same choice is on the API’s section edit.
Four admin gaps closed: invite grants, export, replays and the root role
A workspace admin’s standing never gave them a brain’s content, with two deliberate exceptions and, it turned out, two accidental ones. All four are now closed. Invites: an admin can only add a starting grant for a brain they hold Admin on themselves, the same bar as the brain’s Members page; an invite naming any other brain is refused with the brain named, rather than the grant being applied on the admin’s say-so. Export: only a brain’s Admin or Owner can download it. The one exception is the leaver flow, where the Export link beside each affected brain now names the member being removed, and that download is written to the brain’s audit log. Prompt lab: a replay reads what an inbox item says, so the picker now lists only items from brains the operator is on, and a run naming any other is refused. Root: a root can now make another member root, or take root away, from the Team page, never on themselves and never from the last root a workspace has; each change is logged with who, whose, from and to. Until now that took a database write.
Mail threads file faster: the runner starts with the people and the earlier filing
When the runner files a mail thread it now starts with what used to cost it most of its time: who was on the thread, which of them has a page and what is on it, which pages the thread’s earlier messages were already filed to when this is a later post of the same thread, what is already on your task list, and which company or project page the subject points at. Cortex works all of that out in code before the model is asked anything, the same way it already does for a meeting’s attendees. The model’s turns go on what the thread says, not on finding out where it belongs. The line the runner writes on each inbox item now says how many seconds each step took, so a slow item explains itself. And a long page the runner reads whole comes back as its headings and opening rather than the first 20,000 characters, keeping the conversation small for the rest of the run.
Old timeline lines fold to a history page
A page that grows by appends, a person’s page or a project hub, no longer grows without limit. Every hour Cortex looks at each page over the size rule and moves the dated lines older than six months out of its Timeline and Session log sections to a history page beside it, at the same address with
-history on the end. The lines move exactly as written, indented detail included, newest first; the page ends the section with a link to the history and the history opens with a link back. The newest twenty lines stay whatever their age; if the page is still over the line once the old lines have gone, the oldest of the rest follow until it is under the line or only those twenty are left. Lines without a date and the current-state sections are not touched, and no model is involved, so nothing is summarised and nothing can be lost. This is the replacement for the compact page skill withdrawn yesterday. The Health list now says what is left for you: a page that is really several topics.Nothing rewrites a page for its size any more
The split page and compact page skills are gone, and so is the queue that sent every page over 2,000 words to one of them. A model rewriting a page that grew by appends, a person’s page with years of dated lines, lost detail, and the queue kept re-running the same page as it grew. The size rule still applies to what your agent writes: a long document becomes an overview and topic pages, and an update to a page changes only the part the new content touches. A page already over the line is counted and listed on Health for you, with nothing done to it. Any copy of the two skills in your workspace is removed the next time it starts, edited or not. A scheduled fold that moves a page’s older dated lines to a history page, as they are and without a model, is planned as the replacement.
Search from the top bar of every brain page
Every page of a brain now has a search field in the top bar: after the breadcrumb on a desk, filling the width between the menu button and your avatar on a phone, where that line used to hold nothing. Tap it or press
/, type two characters, and two lists appear. Pages is up to five pages whose title matches, with the path and type under each, ranked on your device as you type, so it is instant. In pages is up to six hits from the brain’s search, with the passage and your words in bold. The first row is highlighted: Enter opens it, the arrows move, Esc closes (Cancel on a phone). The last row opens the Search page with the query carried over. On a phone the results take the whole screen under the bar, and the field no longer makes Safari zoom in. Hybrid search is quicker too: the text matching now runs while the meaning of your words is being worked out, rather than after. The brains list and the admin pages keep the bar as it was: the field needs a brain.Delete a task with one click, and undo it
Every line on the Tasks page now has a bin icon. It asks nothing: the task, and anything nested under it, leaves the page at once, and the row stays on screen struck through with an Undo button. Undo puts the task back where it was, or at the end of its section if the page has changed meanwhile. The undo is there while the page is open; leave or reload it and the struck rows are gone. Scripts get the same two actions on the API.On a phone the Tasks page now gives each task its own line, with the date, Move and the bin underneath, and every page of a brain has a 16px edge instead of the wide margins that squeezed the text into a thin column.The page also answers at once now: a tick, a move or a delete shows straight away and the save follows, clicks are saved one after another however fast you make them, and a completed task stays where it was, ticked, until you leave the page, so a slip can be unticked. A save that lands just after your agent has filed something onto the page is retried rather than refused.
A star files a thread, whenever you put it on
The reference mail collector used to look only at threads with mail newer than its last run, so a star put on last week’s thread was missed. It now searches for starred threads on their own, thirty days back, in the inbox or archived, and sends what it has not sent before. Star it and archive it; the next run files it. The collector can also take its brain credential from the environment, so its config file need not hold a secret.
Archiving or deleting a brain stops its feeds
Archiving a brain used to change its label and nothing else: a connected meeting tool kept delivering into it and the filer kept working there. Now archiving, and deleting, disable every ingest source on the brain and close its inbox to anything new, from any route, with a message that says why. A meeting tool still pointed at a closed brain is unsubscribed overnight. Pages of an archived brain stay readable and searchable. Restoring the brain opens the inbox again; the sources stay off until you turn back on the ones you still want.
Agent sessions are cleaned before they are filed
A coding agent’s session log is mostly the output of the tools it ran: across 193 real Claude Code sessions, the conversation was under 1% of the file. The filer only reads the start of an item, so it was seeing session housekeeping and early tool output, and at best a few hundred characters of what was actually said, which is why real sessions were often judged not worth filing. Cortex now cleans every captured session before anything reads it: what you typed, what the assistant said, one line for each action it took, with tool output, private reasoning and injected instructions dropped and passwords, keys and tokens masked. The original log stays on the item. Claude Code sessions are read in their own format; other agents’ logs are read through the message formats most of them share, and a log Cortex cannot read is flagged for you rather than filed raw.The capture hook on Capturing agent conversations has changed too. A session you resume and end again now arrives as a new version of the earlier one instead of being turned away as a duplicate, and very long sessions send reliably. If you set the hook up before today, replace the script.Two changes apply to any document that arrives in more than one version. If a newer version arrives while the older one is still waiting to be filed, the older one is closed with a note saying which item replaced it, so the same thing is never filed twice. And when the older version was already filed, a resumed agent session is filed from what was added since, not read again from the start.
A brain's Connect page lists only the agents that can reach it
The Connected Agents list on a brain’s Connect page used to show every agent in the workspace, on every brain, and only to admins. Now it shows the agents of the people with access to that brain: your own if you are a member, everyone’s on that brain if you are a workspace admin. Your personal brain lists only your agents. Members can now see and revoke their own agents, which before only an admin could do. The full list of every agent in the workspace, with Revoke, has moved to Settings, Team for admins.
The assistant kit: a Claude Code plugin that files your sessions and reports your brain's health
A new page, Set up your assistant, takes you from a brain to a Claude Code assistant whose memory is that brain. The cortex-assistant plugin installs the two hooks (a status line at session start, the session filed at session end), the scheduled mail collector and health check, and the day-to-day skills. Three keys and a short block in your instruction file are the only setup. Each session is cleaned by Cortex when it arrives (the entry above), and a session with nothing durable in it produces nothing.
Re-apply a template to a brain you already have
A brain used to copy its template once, at creation, and never see a change to it. Now an Owner can bring a brain level from Settings, Schema, “Re-apply a template”: the folders, page types and fields the template has and the brain lacks are merged in and their folder pages created, while everything the brain already has stays as it is. The instructions page is replaced only if it is still the untouched starter text and you ask for it. You type the slug to confirm, as for a delete. The same action is on the API at
POST /api/v1/brains/{id}/schema/reapply.The Personal template gains writing and career plans, and a person is one page
Two new homes in the Personal template. writing/ holds the things you write for other people to read: newsletter editions, posts, articles, talks, one page per piece with its channel, its status and the date it went out. career-plans/ holds one page per person whose development you own: the plan, the objectives, the review record and any improvement steps, with the evidence uploaded as source documents and cited from the plan rather than pasted in. The template’s instructions now also say what the first real migration taught: a person is one page, never a folder. A document about a person goes in the folder for its kind and links back.A brain you already have keeps its own shape until you re-apply the template to it (the entry above), or add the folders and types under Settings, Schema yourself.
Dated pages show their date in the Workspace tree
A folder of meetings used to read as a column of identical titles, the date hidden in the file name. The Workspace tree now shows the date ahead of the title for any page whose file name starts with one, and lists those pages newest first, ahead of the undated pages in the same folder.
Automatic filing costs a third of what it did, and keeps its work when a run is cut short
Every time the filing runner asked the model for the next step, it sent the whole conversation so far and paid for all of it again. From today the repeated part is served from the model provider’s prompt cache, at a tenth of the price, so a meeting that cost about three dollars to file now costs under one. Nothing changes in what gets filed.Two runs in a sweep on 23 September stopped part-way with “per-item token budget exceeded”, and what they had drafted was lost. That guard added up every step of a run, and on a large brain an ordinary meeting needs enough steps to trip it. It now watches the size of one step at a time, which is what a runaway document actually looks like. And a run that is cut short, by that ceiling or by the step limit, now keeps its drafts: they arrive in the review queue as a proposal you can accept or finish, instead of being thrown away and tried again for the same cost.For a meeting, Cortex now does the predictable half of the work before the model starts: it reads the attendee list, finds each attendee’s page and the sections a meeting adds to, picks up your task page and the pages a search on the title turns up, and hands all of that over in one go. The model’s steps go on what a transcript actually surprises you with, the customer named in passing, the colleague who was not on the call, the earlier decision this one reverses. It still searches for those.Each filed item’s log now ends with a run line: how many steps the run took, the biggest prompt, how much of it came from the cache, what it cost, and which tools each step called. If you ever wonder why a run was slow or expensive, that line is the answer. The built-in filing instructions also now say plainly that a change to an existing page is a section edit, never a rewrite of the page.
Your agent chooses which brains to search, and tells you where it looked
Until now a question from your agent was searched across every brain you could read, in one go. From today the agent chooses. The map it sees when it connects now says what each brain holds, its description, how many pages and its largest folders, and the agent names the brains that could hold the answer, always with your own brain, and keeps a brain that has already answered in the conversation. With no brain named, only your own brain is searched.Each brain is now searched on its own, at the same time as the others, and the results are merged. A small brain is no longer crowded out by a large one, and no single search ever touches more than one brain.Every reply tells the agent which brains were searched and which were not, with each unsearched brain’s description, so when nothing turns up it can widen its search rather than tell you the answer does not exist. Ask it “which brains did you look in?” at any time. If you build on the agent tools directly:
query now answers an object with hits, searched, notSearched, defaultedTo and note, where it used to answer the list of hits alone, and list_brains gains topFolders. A brain’s description now does real work, so it is worth a line saying what the brain holds and who it is for. The health check gains a Being found line that says when a brain has no description or a thin one, or when no search has reached it in 30 days, and Settings, General says what the description is for. See using multiple brains.Search is quick again on a big brain
On a brain of a thousand pages a search from the web app had grown to several seconds. Three changes bring it back under a second, most of which is now the embedding call itself. Cortex runs its search lists at the same time rather than one after another. The passage list, which looks for your exact words inside long pages, now runs only for a short query of up to three words (an id, a code, part of a word) and in exact mode, because on a whole question it read every passage in the brain and found the pages the other lists had already found. And the meaning list uses an index over the embeddings instead of comparing your question with every passage, so it no longer slows down as a brain grows. The web Search page also stops a search you have typed past, on the server too. One thing changes in what comes back: the passage list now finds your words as written inside a page, ignoring case, rather than a near-miss spelling, so an id, a code or part of a word still matches and a typo does not. A long question in hybrid mode gets the same pages, faster.
Forward mail into any brain, not only your own
Until now mail could only be forwarded into the brain marked as yours. From today any brain can take mail: a shared brain, a client brain, your own. An Admin gives the brain an address under Settings, then Ingest sources, and the same card now lists the brain’s forwarders, the addresses mail may come from. Anyone with write access adds an address they can read and confirms it with the six-digit code Cortex sends there. Verification has moved from your profile onto each brain, so the Profile, Mailboxes tab is gone; every address you had verified there is on your own brain’s list already, along with the address you sign in with.In a client brain, forward to the brain’s address with
+ and the client’s key before the @ and the thread is filed under that client; the Clients page shows each client’s address. Forward to the plain address and the people on the chain decide: one client’s domain among them settles it, your own colleagues never count, and a chain with two clients or none waits for someone to choose. The client’s own people never have to verify anything; they are the participants, and a client mailing the address directly is refused. In a shared or client brain, Cortex names the member who forwarded a thread in the citation and writes nothing about them; a client’s ask lands on the client’s page under Open items, never on anyone’s task list. The message itself is still never kept.Your agent sees each brain’s forwarders in whoami and brief, the health check says when a brain has an address but nobody allowed to send to it, and cortex mail manages the list from the command line. See your email and the email contract.Mark your brain as yours from Settings, and mail lives with the other sources
Two things moved into the place you would look for them. Your personal brain can now be marked from the web app: open a brain’s Settings, then General, and if nobody has marked it yet an Owner sees Make this my personal brain. That mark is what your agents read to know where to write by default, and it is what lets a brain receive your mail. Before, the command line and the API were the only ways to set it, so a brain made with
cortex init and never marked could not be given a mail address at all.Forward mail to this brain has moved from the Connect page to Settings, then Ingest sources, beside Granola, Read AI and webhooks, since mail is a source like the others. On your own personal brain it is the same card: create the address, copy it, rotate or remove it, the refused count, and Gmail’s confirmation code. On a brain that is not marked as yours, the same spot says why there is no card and points you at General. See your email and your personal brain.Search finds more of what a brain holds, in fewer calls
Three things made a brain return less than it held, and all three are fixed. A very long page could crowd every other page out of a search, so a brain with one big document looked like one page: each page now gets one place in the running, on its best passage. Exact mode could not find a short string inside a long page (an id, a code, part of a word), because it compared your text with the whole passage rather than looking for it inside: now it looks inside. And a question in plain words only matched pages holding every one of its words: now a page holding most of them counts, most first.Two things make each call go further. Ask a compound question (“what is our bounce policy and how long does a warm-up take”) and Cortex searches its parts as well as the whole, in the same call, so both halves come back together; an agent that knows the parts can pass them as
queries. And every page now carries a one-line abstract, taken from its frontmatter description or its first paragraph, on every search hit, in the page index and in the brief, so an agent can choose the right page without reading it.For anyone watching what their agent costs: the usage record now names the tool behind every call, and each search records what it did. See the API reference.Cortex on your phone, and a quick add for tasks and topics
The Workspace now fits a phone. The page fills the screen, Pages slides the folder tree in from the left and Info the backlinks and page details from the right; reading, the editor (the same one, both modes), history and delete all work as on a desk. Every brain page also has a round + button at the bottom left with two one-line forms: Task adds a line to your task page with a due date and a section, and Topic adds something to raise with a person, found by typing their name, under To Discuss in their Topics section, dated today and linking the page you were reading. Both append to the page as it is at that moment, so nothing else on it is touched. See pages and structure.
Tasks: one page, fed by your meetings and mail
Your personal brain now keeps your tasks on one page,
todos.md at its root, one line per task in the shape Obsidian’s Tasks plugin uses (due, added, done, priority, recurrence, wikilinks). Cortex fills it: an action item that is yours in a filed meeting, an ask in a forwarded mail, a commitment you made in an agent session, each lands under Captured with the date if one was said and links to where it came from, for you to move up. Your agent can list what is due, add a task, tick it or move it, and its morning brief carries the counts. A Tasks page in the brain’s sidebar shows the list by section with a due strip, tick boxes, quick add and move. Ticked tasks move to an archive page a week later on their own, and a recurring task ticked comes back with its next date. See tasks.Proposals edit a page, they no longer replace it
When Cortex files a meeting or an email on its own and needs to add something to a page that already exists, it now proposes the change, not the page: a dated line at the top of a person’s timeline, a topic under a heading, one section rewritten. Before, a proposal carried the whole page as Cortex had rewritten it, so anything you or your agent wrote on that page while the proposal waited in the review queue was lost when you accepted it. Now the rest of the page is never touched, an addition applies to the page as it is when you accept, and a rewritten section is refused with nothing written if the page changed underneath it, so you can look again. The review queue shows each change as an addition or a section, with the current page beside it. See the review queue.
Is your brain still being fed?
A brain set up once can quietly stop receiving: the session hook lost with a rebuilt laptop, a meeting tool’s webhook switched off, a credential that expired, an inbox nobody cleared. Ask your agent to run the health check and it answers in one pass, worst first, with the one thing that fixes each: when the last transcript arrived on the hook, whether each connected source is still delivering, which credentials are unused or expired, how long the oldest inbox item has waited, whether filing is paused, and whether search can see everything. Tell the brain what it should expect under a
## Expectations heading on its instructions page and the check grades against that instead of the defaults. The same report is cortex health on the command line and one address on the API, so a scheduled job can alert on it. See brain health.Hand a waiting item to your agent, compaction for pages that grow, and a front page for every brain
Deal with the inbox from your agent. Open a waiting item and the drawer now says whose lane it is in and why it is waiting: Cortex is on it, filing is off for the brain, the monthly limit is reached, or it is simply next. It offers three ways out, one of them a prompt to copy into Claude Code or any connected agent: “Check my Cortex inbox and deal with what is waiting.” The agent works through proposals first, then takes pending items from the queue, files them with the matching skill and asks you what Cortex would have parked on. A service credential cannot take items; only you, or an agent acting as you.Pages that grow are compacted, not cut. A person, company or project page in your own brain that grows past 2,000 words is rewritten in place under 1,500 words, with what is currently true said once, the last six months of dated lines kept as they were, and older lines moved to a history page. Nothing is deleted. Everything else still splits into an overview and topic pages. See the right size for a page.A front page for every brain.
_index.md at the root now lists what is in the brain, folder by folder, kept current by the hourly maintenance until you edit it; then it is yours. See the front page.Connect Granola or Read AI and your meetings file themselves
Source connectors. A brain’s Settings page now has a gallery of tools to connect. Pick Granola: paste your API key, choose which notes and folders, and Cortex sets up the webhook at Granola, catches up the last week and files every new note as a meeting as Granola finishes it. Pick Read AI: paste the address Cortex gives you into Read’s webhook settings, and every meeting report arrives with its summary, action items, key questions and transcript. Both are in beta.One source, one brain. A connected source feeds only the brain you connected it to; nothing routes between brains. On a shared brain, limit a Granola source to a folder, or everything the key can see becomes visible to every reader; the page warns you.Managed at the provider, visible in Cortex. Every source row shows the last delivery, the last item filed, the last error, what the provider reports about the webhook, and a Manage link to the provider’s own settings. If a provider switches a webhook off after days of failures, the row says so and a nightly catch-up picks up what was missed. Deliveries lists everything that arrived in the last thirty days and what became of it.The reference Granola pusher script is retired: connect Granola instead, or ask your agent to file a transcript by hand. See Granola, Read AI and meeting transcripts.
Your email: what mattered goes in, the mail itself never does
Your email. Mail does two jobs, and Cortex now does the second one. Forward a thread to your brain and it is filed as what mattered: dated lines on the people, companies and projects it touched, todos for the asks, a line in the day’s note, every one cited to the message. There is no page per thread and no page that reads like a mailbox.The message is never kept. A mail item’s body exists only while it waits to be filed, and is destroyed the moment filing ends, on archive, on reject, on delete, or on the seventh day unfiled. What remains is the subject, the link back to your mailbox, the date and the pages it was filed to; the Sources record says “Body not kept”. Attachments never arrive, only their names. Any caller can ask for the same treatment for anything else with
retain=none.Two routes in. Forward a message by hand, or set a rule in your mailbox that forwards the senders you care about, to an address your own brain issues on its Connect page. Or run the reference collector on your side with your own Gmail credential, on a schedule, reading only the threads you selected. Both produce the same thing and go through the same door.One mailbox, one brain. Mail may only enter the brain marked as yours, and only from an address you have verified under Profile, then Mailboxes, with a six-digit code. A shared brain, a client brain, somebody else’s brain: refused, with nothing stored, even when an agent is asked to do it. A refused delivery is counted on the brain with its date and the sender’s domain, and never bounced.See your email, the email contract and data and privacy.The command line is on npm
npm install -g @oncortex/cli puts cortex on your path on any machine with Node 18 or newer. Sign in with cortex login, then analyse, import and verify a folder of notes, upload files as sources, mark your brain as yours, or empty a test brain. Agents that find it installed stream files through it instead of asking for a one-time upload address. See the command line.What's new: a command line, a connector for organisations, and agents that file what they upload
The changes of the past few days add up to one shift: the door decides who files an item, and the tools around that door got better.A command line.
cortex signs in as you, the way Claude Code does, and does the jobs a browser is bad at: analyse a folder of markdown notes, init a brain, import the folder into it and verify the result from the brain’s side; upload a file straight from disk; personal to mark a brain as yours; empty a brain to run something again from scratch. It paces itself under the API’s rate limit and a stopped import is safe to run again. Install it with npm install -g @oncortex/cli. See the command line.Claude for your whole organisation. A Claude admin can add Cortex once as an organisation connector: Claude on the web registers itself with Cortex’s sign-in service and keeps a secret Cortex issues it once, each member signs in through the browser, and Claude reaches exactly the brains that member can. Before this, hosted clients that keep a secret were turned away at registration. The connector now shows the Cortex icon in the list. See connecting Claude.Agents file what they upload. What a connected agent brings in, a document you handed it, a transcript, a note, the agent files itself, in the same conversation, with its own tokens; the item shows as held by your agent and Cortex’s own filer never touches it. What arrives with nobody present (a web upload, a webhook, a session hook, a file sent from the command line) is filed by Cortex. An item an agent starts and abandons goes to the review queue after 30 minutes. Inbox items can now also be deleted by an admin, original and all, as well as archived. See the inbox.One-time upload tokens, and the text handed back. An agent with a shell no longer passes a file’s bytes through the conversation. It asks Cortex for a token good for one brain, one file, one use and 15 minutes, sends the file from its shell, and gets back the inbox item, its citable address and the document’s text, extracted on the server, plus what changed when the file is a new version of a document already filed. Then it writes the pages and archives the item. With the command line installed, the upload streams from disk instead. See ask your agent and the API reference.A monthly ingestion limit, in place of the daily allowance. Cortex’s own filing is now paid for by the workspace under a monthly spend limit. When the month’s total reaches it, automatic filing pauses for the workspace, the inbox says so with the spend and the limit, your agent is told when it connects, and items wait until the month turns or the limit is raised. What your agent uploads is unaffected. The per-brain daily allowance is gone. See how ingestion is paid for.Section-sized answers, and a size rule for pages. A search hit now carries the passage that matched, up to about 1,500 characters, and the page’s outline, so most questions are answered from the hit. Agents and the API read a page by section, by heading, and a page over 20,000 characters is never handed over whole unless asked for. The rule for a page is one topic, 300 to 1,500 words; the Health page counts pages over 2,000 words and lists them, and Cortex queues each for the new split page skill, which rewrites it as a short overview at the same address plus one page per topic, through the review queue. See search and recall and pages and structure.The first-document check. Before its first write into a brain, an agent checks the brain’s instructions. If they are thin (nothing written, the untouched starter text, under sixty words, or silent on folders that hold pages), it asks you what the brain is for, or shows a short draft, and saves the instructions only after you reply. See ask your agent.Your brain is the default, and it is marked as yours. One brain per person carries a mark that says “this is my personal brain”, and that is what an agent reads: it writes there unless you name another brain, confirms the first time it writes to a shared brain in a conversation, and asks if nothing is marked. The brain Cortex created for you is marked already; one you created yourself is marked from the command line or the API (no Settings switch yet). See your work brain.Brains grow with use. A page saved to a new folder creates that folder, and your agent sees every folder that holds pages, described in Settings or not, beside the intended structure, so it files into the folders you have rather than inventing new ones. The Personal template gained homes for companies and meetings. Describe a new folder in Settings once it settles. And a deleted brain keeps its address, so creating a brain with a deleted brain’s slug now says so instead of failing. See pages and structure.An editor that reads like the page, and pictures on pages
Editing a page now looks like reading it. Headings, bold, lists, quotes, code and links render as you type, and the markdown marks show only on the line your caret is on, so the text stays plain markdown underneath and an untouched page saves nothing. Wikilinks show as links you can click, task boxes tick with a click, and
[[ still completes page names. A Source switch shows the raw markdown when you want it. And you can paste or drop an image into a page: it is kept as a source of the brain, with the page recorded as where it was used, and only the brain’s own images render as pictures. Agents can look at a page’s images through their connection.The Workspace first, folder and bulk deletes, and fullscreen
Opening a brain now goes straight to the Workspace: the tree, the page and the backlinks. The separate landing page with a flat list of pages is gone; the tree is that list. In the tree, hover a folder to delete it with everything under it, or press Select to tick pages and folders and delete them together. Each confirmation lists what goes, asks you to type a word above ten pages, and reports anything it could not delete and why; version history is kept as ever. And the Workspace has a fullscreen button (or Ctrl or Cmd+Shift+F): the app chrome goes, the editor grows to the window, Esc brings it back, and the choice is remembered.
Manage a brain's members from the API
Onboarding can now be scripted. The public API lists a brain’s members and grants, changes or revokes access by email or user id, with the same rules as the Members page: Admin or Owner on the brain to manage it, workspace members only, one grant per person, and the last Owner stays. A service credential counts with the role it was issued, so a read-and-write credential cannot widen access. This is deliberately not something an agent can do from inside a conversation. See the API reference.
Ingest sources on the Settings page
Webhook sources now have a screen: Settings > Ingest sources on any brain you administer. Create a source with its label, authentication mode, guard rules, target folder, client pin and default filing skill, and copy the secret, the delivery URL, the headers and a ready-made
curl example from the one-time reveal panel. Edit a source’s rules and hints later without re-issuing the secret, and delete one by typing its label; what it already delivered stays put. The block is not the Sources archive in the side navigation, and says so. See receiving webhooks.Name the filing skill and skip the triage check
Every way into the inbox can now say what the item is: a “File as” choice on the web upload, a
skill field on the API and your agent’s upload tool, an X-Ingest-Skill header on webhooks, and a standing default on a webhook source. When you name the skill, the automatic filer skips its “is this worth filing” check for that item, spends nothing on it, and files with the skill you chose; the item’s log says so. Leave it unset and ambient captures are checked exactly as before. A name that is not a skill is refused with the list. See uploading files, the API reference and webhooks.Adding to a page, what changed, the graph tools, moves, and one search tool
Agents and integrations can now add to one part of a page instead of replacing it: a timeline line at the top of a section, a topic or todo under a heading, a note at the end, or a frontmatter key, with everything else on the page left exactly as it was. If the page changed under them, the edit is refused and they retry. A changes feed tells an agent what was created, updated or deleted since it last looked, with the inbox counts, so a morning briefing reads only what is new. Four graph and timeline tools join the connection: who links to a page, the pages within a few hops of it, a page’s timeline as dated entries, and a check that the names an agent is about to link actually exist (with near misses when they do not), plus a one-call way to add a dated timeline line. Moving or renaming a page now keeps the graph whole: every page that linked to the old name is rewritten, and a move never overwrites. And search is one tool with a mode: exact for names, ids and phrases, semantic for meaning, hybrid for both; the separate exact-search tool is retired. The operating manual (1.7.0) explains all of it. See the API reference.
Service credentials in the audit trail, and connection lifetimes
A page written with a service credential now shows up in the brain’s audit trail as that credential, by its id and label, instead of with no author. Nothing changes for the credential itself. And how long a connection lasts is now a stated rule rather than a library default: an agent stays connected while it is used at least once every 90 days, and is asked to approve again if it sits idle longer. See how connections work.
Where a document lives, and revisions
Every inbox item can now say where its document lives: a link to the original on SharePoint, OneDrive, Google Drive, Confluence or anywhere on the web, with the provider, its id and the version at the time. The source record shows the copy that was read beside a link to the live document, and page citations carry both. Your agent can send the file itself over its connection rather than a text conversion, so the archived original is the document. And when a newer version of a known document arrives it is kept as a revision: linked to the earlier item, which is marked superseded, with a line diff of what changed handed to whoever files it. Nothing is filed automatically because a document changed; the brain’s filing mode applies as for any new item.
Partitions: one brain, many clients
A brain can now be partitioned: one folder per client (or site, or matter) with a hub page, email domains and other names, managed on a new Clients page with CSV import. Nothing files under a client that does not exist, and every arriving item is matched to its client from the sender’s address, the attendee emails or the title, or waits as “needs a client” with one-click assignment that remembers the domain. Search, the page index and your agent’s tools narrow to one client. Archive keeps a finished client readable; purge, for owners and only after archiving, removes it with every version. The Client template ships partitioned, the API covers all of it, and a reference Granola pusher shows the transcript route end to end.
Review proposals, manual filing and the transcript format
The review queue grew up. Parked items now carry a full proposal: the drafted pages themselves, editable and acceptable in one click from the web, from your agent, or automatically at high confidence. You can also file any inbox item entirely by hand, no agent needed. Waiting items surface as badges in the app, as counts your agent sees, and as a morning email digest once they have waited a day.Meeting capture moved to a push-only transcript format: any tool that can POST a file can feed a brain, with attendee emails driving people-matching and safe re-delivery built in. The Granola polling source is retired; ingest URLs now accept a folder hint (
?path=).Documentation launch
The Cortex documentation is live: getting started, brains, capturing information, filing and recall, connecting your AI, teams, and account and security.