Releases: Context-Move/ContextMove
Release list
ContextMove 4.7.1
ContextMove 4.7.1
Closing the window on a Mac now leaves the app running in the background, the
way it always has on Windows, and launching at login no longer opens a window
you did not ask for.
Closing the window keeps capture running
Until now, closing the window on macOS quit the app outright. Capture stopped
the moment you were done looking at your vault — the browser extension had
nothing to talk to, and you would not find out until you went looking for a
conversation that was never saved. On Windows the same click just hides the
window and the tray icon keeps the backend alive.
The Mac had no tray icon to hide behind, and that was deliberate: the library
that draws one talks to the macOS status bar from a thread the system refuses
to accept, which crashed the app at launch. Rather than ship a crash, close
was left to quit — because a window that hides with no way to bring it back is
worse than no feature at all.
macOS already provides the way back, though. The Dock icon is there the whole
time: click it to reopen the window, right-click it to quit. So closing the
window now hides it, and the app keeps running in the Dock with captures
flowing. Opening it again from the Dock, Spotlight or Launchpad brings the
window straight back — all three now do the same thing.
Cmd-W behaves exactly like the close button. Cmd-Q, and Quit from the Dock
icon's menu, still quit properly.
Nothing changes on Windows, where the tray already did this.
Launch at login comes up hidden
Turning on launch at login on a Mac started the app and then put its window in
front of you at every login, which is not what the setting is for. It now
starts quietly in the background, exactly as it does on Windows. The window is
one Dock click away when you want it.
Everything else
Capture, storage, search and the vault format are unchanged from 4.7.0.
Updating keeps everything where it is.
Homebrew installs update with:
brew upgrade --cask context-move/tap/contextmove
ContextMove 4.7.0
ContextMove 4.7.0
Mac installs that came from Homebrew now update through Homebrew instead of
fighting it, and the buzzer shelf leads with recorded clips rather than
synthesized tones.
Homebrew installs update through Homebrew
A cask install and the in-app updater both own the same bundle at
/Applications/ContextMove.app, and until now they disagreed about it.
Homebrew records what it installed in a Caskroom receipt and, on the next
brew upgrade, moves the bundle it believes it owns into that version's
staging directory before installing the new one. An in-app update that
replaced the bundle behind Homebrew's back left that receipt stale — so the
upgrade moved the newer app into the old version's directory and deleted it.
Cancel the drag from the .dmg halfway and the bundle was gone outright, and
every later brew upgrade died on "App source is not there" until it was
cleared by hand.
So the app stops competing. When it detects that Homebrew owns the install, it
still tells you a new version landed — you should know — but the update pill
becomes news rather than a button, and the panel shows the one command that
actually works, with a copy button next to it.
Detection needs two things to be true at once: a Caskroom receipt for the cask,
and a running bundle sitting in one of the directories the cask installs into.
That second half is deliberate. Someone testing a downloaded .dmg alongside a
brew install stays on the normal in-app update path, because Homebrew would
upgrade the other bundle and leave the running one untouched.
Nothing changes for a .dmg install, and nothing changes on Windows.
New sounds on the buzzer shelf
The original shelf was synthesized start to finish — nothing to license,
nothing to download, a few hundred KB for the set. That reasoning still holds
for the tones, but nobody picks a slide whistle twice.
Five recorded clips now lead the list, and the four synthesized sounds that
existed mainly to pad it — boing, slide whistle, duck, power up — are gone
rather than pushed to the bottom where they would ship forever and never be
chosen. Sad Trombone, Air Horn, Dun Dun Dunnn, Game Over and Dive Klaxon stay
where they are.
The recorded clips ship as MP3. Four seconds of stereo WAV is most of a
megabyte for something MP3 carries in 64 KB, so the shelf is still under a
megabyte in total and still ships with the app — nothing is fetched at install
time, and picking one still copies its bytes into your alert-sound slot exactly
as before.
If you had one of the removed sounds selected, your alert sound is unchanged:
choosing a built-in copies it, so nothing on the shelf is load-bearing after
the fact.
Everything else
Capture, storage, search and the vault format are unchanged from 4.6.2.
Updating keeps everything where it is.
ContextMove 4.6.2
ContextMove 4.6.2
How to install
- Download ContextMove-Setup.exe below
- Run it and follow the wizard (takes ~30 seconds)
- On first launch, ContextMove downloads its embedding model automatically
What's included
- Embedded Python runtime (no system Python needed)
- Built-in local engine (no separate app to install)
- FastAPI backend & local database
- Browser-based dashboard
- Browser & VS Code extensions
ContextMove 4.6.1
ContextMove 4.6.1
Signing in on a new computer now brings your vault with it, the app backs
itself up daily without being asked, and the star button on chat pages is
legible again on both light and dark sites.
Moving to a new computer
Everything needed to carry a vault across already existed in Settings —
export, backups, restore — but nothing offered it. Reinstalling on a new
laptop opened an empty app, and finding the panel required knowing a backup
was the thing to look for.
Now an empty vault plus a signed-in account gets the offer directly: bring
the newest backup across, or start fresh. Both are real choices and both look
like it.
Google asks for Drive access once at that point. Sign-in and Drive go through
two separate Google clients, so the consent is genuinely a second grant rather
than a repeated one — but the account you just signed in with is pre-selected,
so a browser holding several accounts cannot quietly point you at an empty
Drive folder.
Restores stay additive. Nothing local is deleted, entries are matched by id
rather than appended blindly, and a vault whose contents are only in the
Recycle Bin still counts as used — so a restore never lands on top of work in
progress.
Backups take themselves
Once a day, pruned to the last ten. Whether one is due is read from Drive
rather than from a local timestamp, which matters in exactly the case this
release is about: a freshly restored machine has no local history, would
believe it had never backed up, and would immediately re-upload what it had
just finished downloading.
The first-run tour stops covering the question
Signing in could start the tour and raise the "moving from another computer?"
card at the same moment. The tour drew on top — over the one question someone
arriving on a new laptop actually has to answer. It now waits for that
decision the same way it already waits for sign-in.
Onboarding no longer asks for your name
Google hands the display name over with the identity, so the first question in
the tour was a form field whose answer the app already had. It greets you
instead, and still offers the box if you would rather be called something
else. A name set in Settings always wins.
The star button is readable on both themes
The star that saves a chat from the page sits directly on the site's own
background, and it was too faint to see on a light one and a white plate stuck
to a message on a dark one. Measured rather than eyeballed, the resting glyph
came out at 2.58:1 on a white page — below the contrast a control needs — and
the dark treatment was simply the wrong shape of control.
The extension now reads the theme of the page it is on and treats each case on
its own terms: an opaque chip on light, glass on dark, with the coral lifting
toward salmon so it survives a black background. Starred against unstarred was
already unambiguous and is unchanged.
This ships in extension 2.4.
Images ChatGPT stopped labelling
When a ChatGPT reply is a generated image, the site puts the picture in a turn
it does not tag as a message. Capture searched only inside tagged messages, so
those images were silently absent — no file saved and nothing reported
missing, which looked exactly like a chat that never had pictures. The
transcript was never affected; it comes from the network rather than the page.
Attachment search now covers the site's own turn containers as well, so a turn
the message markup cannot resolve is still searched.
Everything else
Capture, storage, search and the vault format are unchanged from 4.6.0.
Updating keeps everything where it is.
ContextMove 4.6.0
ContextMove 4.6.0
The browser extension is on the Chrome Web Store, and it now shows how much of
your plan is left without you leaving the chat. ContextMove also has a dark
theme, and captures on Claude, ChatGPT and Grok save the whole thread rather
than what happened to be on screen.
How much you have left, under the composer
Knowing you are near a limit is only useful before you start the long piece of
work, not after the site cuts you off in the middle of it. Until now the only
way to find out was to leave the conversation, open the provider's usage screen
and come back.
There is now a line under the chat composer with your weekly and session
figures, each with the time until it resets:
usage WK 44% resets in 3d 13h SESSION 5% resets in 4h 46m
The numbers are the site's own. ContextMove reads the figure out of the usage
response the provider already sends its own meter — it does not query any
account API, count tokens, or estimate. Where a provider reports nothing, the
line stays away rather than guessing.
Claude only fetches that figure when you open its usage page, so a reading
taken once would be correct the moment you looked and quietly wrong for the
rest of the day. ContextMove notices which address produced a real reading,
remembers it, and asks that same address again every few minutes. Nothing is
hardcoded, so the day the provider renames the endpoint the next reading
teaches it the new one.
The reading is shared across your tabs and survives moving between chats, which
is what makes it useful in the place you actually look at it — the empty
composer of a conversation you are about to start. A figure that is too old to
trust is dropped rather than shown.
The readout has its own switch on the Buzzer page in the app, separate from the
alarm: "tell me when I am nearly out" and "show me where I am" are different
questions, and the second one draws on someone else's page, which ought to be
refusable. Turning the readout off leaves the alarm working.
The buzzer settings moved into the app
Everything about the usage alarm — whether it fires, the threshold, the volume,
the notification, and now the readout — is set on the Buzzer page in
ContextMove, next to the sound it plays. It used to be split: the sound was
chosen in one product and everything governing it in the extension's own
options dialog, which is somewhere most people never opened.
A change made in the app reaches every open tab without a reload, and a browser
running while the app is closed still buzzes the way you set it up.
The alarm also sounds three times instead of once. One buzz is easy to miss
with music playing or the tab in the background.
Stars you can see
The per-message star marks which parts of a thread carry over when you hand the
conversation to another model. It was drawn as a text character and kept at
zero opacity until hover, so on most threads there was no sign it existed —
and on Claude the star injector and the capture code disagreed about where a
message began, which put stars on the wrong things.
The star is now drawn as a real shape, sits visible at rest, and both halves
resolve a turn the same way, so a star appears once per message and marks the
text that is actually carried.
The extension installs in one click
Until now, adding the extension meant opening chrome://extensions, turning on
developer mode, clicking Load unpacked, and pointing Chrome at a folder
inside the install directory. Four steps, one of them a setting most people are
right to be wary of — and the result broke if that folder ever moved, because
Chrome keeps loading it from the path you picked.
ContextMove Exporter is now published:
https://chromewebstore.google.com/detail/goenplhbbljlodllpclonganogjajppe
Setup opens that page for you at the end of the install. Click Add to
Chrome and you are done. Chrome updates the extension on its own from then
on, so the fixes in this release — and every one after it — arrive without you
reinstalling anything.
If you added the extension the old way, remove the unpacked copy from
chrome://extensions and add it from the store instead. Running both at once
puts two panels on every page.
A dark theme
Settings carries a Light / Dark control, and with neither chosen ContextMove
follows your operating system and keeps following it — change the OS at dusk
and the app changes with it, without a restart.
The theme is stamped before the first paint, so opening the app in dark mode no
longer flashes a white window first.
Captures keep the whole conversation
On Claude and ChatGPT, ContextMove now reads the conversation the site itself
holds rather than scraping what is rendered. A long thread is saved in full,
even the part scrolled out of view, and a message you edited and re-sent is
saved once — as the version that is actually in the thread, not interleaved
with every abandoned attempt.
Grok threads are captured properly for the first time.
Where a site gives up two versions of a transcript, ContextMove compares them
and keeps the more complete one. On Gemini, icon glyphs and per-message button
labels no longer end up mixed into the prose.
This part lives in the extension, so it is already in place if you have it
installed — Chrome updated it for you.
The bin selects the way the Library does
Selection in the bin used to be always on: an ordinary click silently ticked a
checkbox you had not asked for, and Restore and Delete forever sat greyed in
the toolbar waiting for a selection you had no reason to be making.
Multi-select is now an explicit mode, the same one the Library already had. Off
by default, each card carries its own Restore and Delete forever — which covers
the common case of coming to the bin for one item. Turn Select on and the whole
card becomes the checkbox, and the actions move to a floating pill with a live
count and Select all.
Emptying the bin with select mode on no longer strands that pill over an empty
view reading "0 selected".
Fixes
- The Library no longer leaves skeleton placeholder cards on screen when a
filter returns nothing. - The licence screen, and the publisher, support and update links Windows shows
under Apps & features, point at contextmove.com — where downloads and release
notes actually live — instead of a code repository. - Double-clicking a
.cvpackfile someone shared with you opens it. Stray
bytes had corrupted the Windows registry paths for that file type, so the
association pointed at a directory that does not exist — in every build
shipped so far. - The app calls itself Context Move everywhere the operating system shows
it: Windows shortcuts, the Start Menu group, the setup wizard, Add/Remove
Programs, and on macOS the bundle name, the.dmgvolume and the Finder
description of a.cvpack. Upgrading removes the old desktop shortcut and
Start Menu folder rather than leaving you with two of each. - The macOS build no longer fails to start on a missing
python-multipart,
and the bundle keeps the right name. - The Library lists what you touched most recently, rather than ordering by
when a context was first created, and the dashboard's last-saved time is
correct.
Upgrading
Your vault, settings and sign-in carry across untouched. The one manual step is
the extension: add it from the store, and remove the unpacked copy if you have
one. The usage readout arrives with extension 2.3, which Chrome installs on its
own.
ContextMove 4.5.1
ContextMove 4.5.1
Fixes the window buttons on macOS. If you are on Windows, nothing here changes
anything for you.
The window would not come back down
Maximizing the window worked. Clicking the button again to return to a normal
window did nothing, and the window stayed full screen for the rest of the
session — the only way back was to quit and reopen.
The restore path was calling into the wrong piece of macOS. It asked the window
to un-minimize, which is a different operation from un-maximizing and does
nothing at all to a maximized window. ContextMove now remembers where the
window was before you maximized it, and puts it back there.
Closing the app meant it would not open again
Closing the window with the × worked the first time. Opening ContextMove again
afterwards did nothing: the cursor would spin and no window would appear.
Closing the window was leaving the process running. macOS does not always stop
an app the instant its last window goes away, and ContextMove was waiting for a
signal that never arrived. The process stayed alive, still holding the marker
that says "an instance is already running" — so the next launch saw that marker,
concluded ContextMove was open already, and quit without a word.
Closing now shuts the app down properly and clears that marker on the way out.
If ContextMove will not start after updating
An older build may have left one of those stuck processes behind. Open Activity
Monitor, look for ContextMove, and quit it. Then open the app as usual. You only
need to do this once.
Intel Macs
The Homebrew cask now states that ContextMove needs an Apple Silicon Mac. The
app has always been built for Apple Silicon only, but the cask did not say so:
installing on an Intel Mac appeared to succeed and produced an app that could
not open. It now says why, before installing anything, instead of leaving you
with a broken icon and no explanation.
Everything else
Capture, storage, search, and sign-in are unchanged from 4.5.0. Your vault
carries across untouched.
ContextMove 4.5.0
ContextMove 4.5.0
How to install
- Download ContextMove-Setup.exe below
- Run it and follow the wizard (takes ~30 seconds)
- On first launch, ContextMove downloads its embedding model automatically
What's included
- Embedded Python runtime (no system Python needed)
- Built-in local engine (no separate app to install)
- FastAPI backend & local database
- Browser-based dashboard
- Browser & VS Code extensions
ContextMove 4.4.0
ContextMove 4.4.0
Rebuilds the Backup & Move panel around the question you actually have when you
open it — which backup do I want? — and makes the usage alert hard to miss.
Backups you can read at a glance
The Drive panel used to be a list of filenames. A backup's name is a timestamp,
which is precise and almost unreadable: picking between 20260819-143002 and
20260819-151144 meant parsing digits.
Each backup now leads with how long ago it was taken — "2 hr ago", "yesterday" —
because that is what you scan for when you are looking for the right one. The
exact stamp sits underneath, so nobody has to trust a rounded number when two
backups were made minutes apart, and once a backup is old enough that "39 days
ago" tells you less than the date does, the date leads instead. The original
filename stays reachable as a tooltip, since it is how you find the file in
Drive itself.
The most recent backup is marked as such, the list draws placeholder rows while
it loads rather than sitting blank, and an empty or failed list now says what
happened instead of showing nothing.
Restoring and deleting can't collide
Both buttons on a row lock while either action is running. Deleting a backup
halfway through its own restore is not something anyone means to do, and until
now nothing stopped it.
The connection panel says where your data goes
Connecting Drive explains what it is about to do — Context Move gets a folder of
its own to park backups in — and once connected, the panel names that folder,
read from the backend rather than repeated as a literal that could drift.
The usage alert sounds three times
One buzz is easy to miss with music playing or the tab in the background. The
alert now sounds three times, whether you are using the built-in two-tone buzz
or your own file. The Test button on the extension's options page plays the same
three cycles, because the repeat count is part of what you are judging when you
set the volume.
Updating
Your vault, settings and Drive connection carry across untouched. Nothing about
what leaves your machine has changed.
ContextMove 4.3.4
ContextMove 4.3.4
Moves the project's public home to its own organization, so every link the app
shows you points at ContextMove rather than a personal account.
A project address instead of a personal one
ContextMove has been distributed out of a personal GitHub account since the
first release. Every place the app pointed you at the project — the license
screen in the Windows installer, the update check, the Homebrew install command
— carried that account name in the URL.
The repository now lives under its own organization. The address you see is the
project's, not an individual's.
What this changes for you
The Homebrew install command is now:
brew install --cask context-move/tap/contextmove
The old command still resolves, so an existing install keeps updating and
brew upgrade needs nothing from you. Direct downloads are unaffected — the
previous links redirect to the new location.
Nothing else changed
This release touches addresses and packaging only. Capture, storage, search,
sign-in, and what leaves your machine are all identical to 4.3.3, and updating
from any earlier version carries your vault across untouched.
ContextMove 4.3.3
ContextMove 4.3.3
Retires the last of the old ContextVolt branding, which was still sitting in
the Windows installer.
The setup wizard looks like the app now
The app was renamed to Context Move a while ago, and everything you see once it
is running was redrawn to match. The installer was not. Running the Windows
setup still put you in front of the old ContextVolt lightning bolt — on the
welcome panel, and again in the corner of every page after it — with a tagline
the product stopped using. It was the first thing anyone saw, and it named
something that no longer exists.
Both are redrawn from the current mark, on the same warm paper the app itself
uses. The wizard now introduces the thing it is about to install.
The wizard art is sharp on high-DPI displays
The old artwork existed at one size and the wizard runs at a larger one, so
every screen was showing a stretched bitmap — softest on the laptop displays
where most people run an installer.
Each image now exists at four sizes, and setup picks the one that matches your
display instead of scaling up the smallest.
Nothing else changed
This release touches the installer's appearance only. Nothing about capture,
storage, sign-in, or what leaves your machine is different, and updating from
4.3.2 changes nothing you have saved.