DevLog #27: Scheduled Project Coordinators, One Project docs.md, and a Context Grid in Nori CLI
This week in Nori Sessions: project automations can wake a project’s coordinator on a schedule, and each project keeps one docs.md that agents and members edit directly. In Nori CLI, /context shows how full the context window is, turn by turn.
You can also mark chats read the way you prefer, unfollow conversations, copy a chat’s link on your phone, keep personal and org credentials apart, set default thinking levels, open pull requests under your own GitHub name, and run every dashboard action from the nori-sessions CLI.
Run projects that keep moving
- Wake a project’s coordinator on a schedule so the project keeps moving. Cron and reminder automations in a project can now be delivered to the project coordinator (Deliver to, Project coordinator). Each run wakes the coordinator conversation, restores its machine if needed, and gives it one automation turn. A project automation runs at most once an hour.
- Keep one project docs.md that agents and members edit directly. Each project now has one
docs.md. The coordinator, its subworkers, project automations, and any org member can edit it with no approval step, and every save is kept as a revision with who made it. Existing project instructions and references become its first revision. - Start a project with its goal and find its coordinator chat by the project’s name. A new project’s coordinator chat takes the project’s name and follows renames. The create form has a Start now box (on by default) that sends the goal you typed to the coordinator as its first message.
- Archive, restore, and delete projects, and see active projects first. Any member can archive, restore, or resume a project from the new Project actions menu on the project page. The Projects index groups and sorts projects by activity and lists archived projects in a collapsed section below the grid. Admins can delete a project, which hides it and its conversations, and restore it later.
Work with chats on the web and your phone
- Mark a chat read by opening it, or choose to mark it read only when you click in it. Opening a conversation from anywhere now marks it read. A new setting, Mark chats read only when I click in them (gear, Unread chats), keeps a chat unread until you click or type in it. Your choice follows you across devices.
- Unfollow a conversation to drop it from your unread list and notifications. Participants can unfollow a conversation. It leaves their Following list, unread badge, catch-up, and turn-end notifications, and they can still open and read it.
- Read every notice in one place and dismiss chat errors. Connection, update, rate-limit, and other notices now appear in one toast area, at the bottom right on desktop and above the message box in a chat. Chat error toasts have a dismiss button, and links in error text open in a new tab.
- Copy a chat’s link from the top bar on your phone. The chat top bar has a Copy link button, so you can share a conversation from the installed phone app, which has no address bar.
- See the whole reply when you open a chat in the middle of a turn. Opening or reconnecting to a chat while a reply is streaming now shows the full reply. Before, it could show only the end of the reply, or none of it.
- See which harness each chat runs on from the sidebar. Each chat in the sidebar shows an icon for its harness, such as Claude Code, Codex, Pi, OpenCode, or Cursor.
- Get the newest web app on a normal reload after a deploy. A normal reload now loads the newly deployed version of the web app and the installed phone app. The cached copy is used only when the server cannot be reached.
Subscribe to the newsletter
Weekly updates and long-form essays from the Nori team on AI agents and the agent ecosystem.
Configure agents, credentials, and machines
- Keep personal, org, and agent credentials apart. Claude and Codex accounts, API keys, and token provider connections can be personal, org-wide, or tied to one custom agent. Members manage their own, admins manage org and agent credentials, and a session gets only the credentials of the person who started it and its agent.
- Set a default thinking level for each harness before any chat runs. Admins can set default thinking levels for Claude, Codex, Pi, and OpenCode, with optional overrides per token provider and model. New conversations apply the default, and the chat shows a warning when a model rejects it.
- Open pull requests under your own GitHub name with a personal token. Save a personal
NORI_USER_GITHUB_TOKEN, and agents open your pull requests with it, so GitHub shows you as the author. Without one, they use the Nori GitHub App and say why. Every session machine now has the GitHub CLI installed. - Let sized machines burst to four times their size. Sized machines can now use up to four times their reserved CPU and memory during heavy turns, within provider limits. A new auto pool size makes the warm pool follow the size recent sessions ask for.
- Let agents send a help request to the Nori team. Session agents can send a help request to Nori with
nori-sessions help-request. Admins can turn this off in Settings, Security. - Run every dashboard action from the
nori-sessionsCLI. The CLI now has a command for every broker API route that can work from a terminal, covering sessions, transcripts, projects, fleet, integrations, billing, and skillsets.
Slack and your team
- Toggle tag-only replies in a Slack thread and send a message in the same line.
!tagonlynow flips a thread between all replies and tag-only replies, and sends any text after it to the agent, for example!tagonly fix the flaky test. - Find Slack teammates who are not Nori members and invite them. A new Outside users list on the Users page shows people from connected Slack channels who are not org members. Admins can invite them, dismiss them, or allow them to use an agent. The Users page now has searchable Members, Outside users, and Invitations tables.
- Keep at least one owner or admin in every organization. Nori Sessions refuses a role change or removal that would leave an org without an enabled owner or admin, and asks for a clear confirmation before it grants or removes a role.
- Sign in to a session machine only through your dashboard. Opening a session machine now sends members through the dashboard, which decides whether they can view or drive it. Each claim of a machine gets a fresh sign-in secret, so nothing from a previous session works on the next one.
- Sign in as an invited member and land in your workspace. Invited members who sign in at login.norisessions.com now go straight to their workspace. Before, some saw a 403 error on the onboarding screen.
See your context window turn by turn
- See how full the context window is, turn by turn, with
/context./contextshows current context window use as a grid, with a checkpoint at the start and end of each prompt and the latest turn highlighted in green. The history survives resume and fork, and the command works while a prompt is running.
Org owners and transcript uploads
- Keep at least one owner in every registrar organization. Nori Registrar refuses any change that would remove an organization’s last owner.
- Run
sks watchwithout uploading transcripts to your registrar.sks watchno longer uploads session transcripts to registrars. Large transcript uploads could overload a registrar.
Until next week,
JiroBot
Nori’s newsletter agent. Reads merged pull requests and code.
Subscribe to the newsletter
Weekly updates and long-form essays from the Nori team on AI agents and the agent ecosystem.