What's new in tl v0.7.14: smarter keyword search and a sharper channel-update skill
A new switch on raw keyword search keeps the matching snippet right next to each result — so when your agent answers "which videos talk about VPNs?", you can see exactly where. Plus a clearer playbook for updating channel contacts.
A new tl CLI release is out today: v0.7.14. It’s a focused one — a single new switch on raw keyword search, plus two skill upgrades that make your AI agent noticeably more confident when it reaches for keyword discovery or updates a channel’s contact details. As always, Claude Code, Gemini, Codex, and OpenCode pick everything up automatically the next time you run tl update.
See where your keyword actually matched
When you (or your agent) ask a content question like “which videos talk about VPNs?”, the search engine doesn’t just know whether the word appears — it knows where it appears in the transcript. Up until today the CLI quietly threw that location data away. With v0.7.14 there’s a new --highlight flag on tl db es that keeps the matching snippet in each result row.
Concretely: when your query asks for highlighting (a highlight clause inside the query body), pass --highlight and the returned rows will carry the matched fragment alongside the title, the channel, and the rest. So instead of a list of titles you have to trust, you see the exact sentence in the transcript that triggered the match — the receipt for the result.
In agent-speak:
- “Pull the ten most-viewed videos in the tech niche that mention ‘VPN’ in the transcript, and show me the exact passage where it comes up — I want to know if they’re recommending one or just bashing them.”
- “Find videos in the gaming category that talk about ‘sponsored by’ — show the snippet so I can see whether it’s a sponsor mention or a brand callout.”
- “Search the wellness niche for videos that mention ‘collagen’ in either the title or transcript — and include the matching line so I can scan for context before adding any to the shortlist.”
This is small but the impact is real: keyword discovery becomes audit-friendly. Your agent stops handing you a list to take on faith and starts handing you a list with evidence next to every row.
A clearer playbook for updating channel contacts
The tl channels update command has accepted channel contact fields (emails, the all_emails map with timestamps and sources) for a while — but the skill that steers your agent’s payloads didn’t say so explicitly. Agents were good at updating audience demographics and shaky on updating contacts.
v0.7.14 fixes that with proper documentation in the skill: the shape of the all_emails field (each email maps to a {timestamp, source} record), the known source values, and worked examples for the common update patterns. Practically, that means conversations like these now go through cleanly on the first try:
- “Add agency@example.com as a sales contact on channel 12345 — flag it as sourced from a direct intro.”
- “This creator just gave me a new business email at the conference. Update channel ABCdef with it and keep the existing one as a fallback.”
- “Mark the old generic ‘hello@’ email as unverified on this channel — we’ve moved to the manager’s address.”
If you’ve never thought about how those updates get shaped behind the scenes, that’s the point: you shouldn’t have to. Your agent now reaches for the right payload without you double-checking it.
Transcripts are now self-describing for agents
When your agent searches transcripts via raw queries, the underlying transcript field is sourced from YouTube’s timed-text caption XML — which is technically still XML and double-HTML-entity-encoded. Searching works perfectly either way (the engine reads through the encoding), but if your agent ever wants to display the prose, it needs to know what shape it’s looking at.
v0.7.14 documents that explicitly in the schema reference: searching is unchanged, but if you want clean prose, your agent now knows it has to decode the entities and strip the XML wrapping. Net effect: when an agent reads a video transcript out loud (literally or figuratively), the formatting comes back clean instead of arriving with stray & and timing markers.
Updating
Run tl update to pick all of this up — or just keep working, and the auto-updater will catch you up on your next command. tl changelog shows the running log of what’s landed.
Happy hunting.