
Researcher in CS, Scala 3 Compiler Lead @epfl, Serves on the Scala Core Team and SIP committee. Agonizes over Effects, Capabilities & Ownership.
Switzerland
Joined June 2016
- Tweets233
- Following125
- Followers280
- Likes588
Pinned Tweet
We've released ATC, a new open-source coding agent based on Tacit. It uses tracked capabilities to control what agents can do, and works with Claude and Codex subscriptions as well as API providers.
Funded by the Swiss Cyber-Defence Campus. Enjoy!
github.com/lampepfl/atc
Sure. TACIT already works with OpenCode via MCP & its native tools disabled. ATC gives us a setup to experiment with capability-aware execution and permissions, but adapting an existing harness is possible. The important bit is that its tools cannot bypass TACIT.
Replying to @etaconversion
Building a custom harness on top of Tacit can be quite challenging. Have you considered adapting an existing open-source, agnostic harness like Pi or OpenCode instead?
Yes! That could be a good fit. ATC checks capabilities while Sandcat adds process and network isolation. We're currently looking into sandboxing for the next project phase, particularly how the capabilities we track can inform the sandbox policy.
Replying to @etaconversion
😱 !
Would it make sense, that #sandcat from @VirtusLab adds support for atc ?
Hence, proxying in a safe way Claude ?
Yes! ATC is the agent harness, and not merely a wrapper around model API calls. More precisely, it disables or avoids the providers' native local tools and supplies its own capability-controlled execution path.
Replying to @etaconversion
Working with Claude and Codex subscriptions is a nice touch. Does the capability layer sit in front of them as a harness, or only wrap API calls? Subscription logins usually come with their own tool access.
Oliver Bračevac retweeted
The End of Programming? Video of my talk yesterday at #scaladays. youtube.com/watch?v=jlJyuJhD…
As younger generations grow up surrounded by LLMs, they may internalize “LLM speak”so thoroughly that AI-text detection becomes meaningless. Imagine Anthropic’s watermarks surviving not just in generated text, but in actual meat brains.
Oliver Bračevac retweeted
New Scala LTS is out! Read all about it in the recent blog post by Wojciech Mazur at scala-lang.org/news/3.9/. The blog post covers all the most recent features, a quick reminder of all the ones since the last LTS, and practical information about migrating.
The authors of @flixlang have a nice paper surveying the need for exclusion in the wild on GitHub. (And yes, we can do all their examples).
dl.acm.org/doi/abs/10.1145/3…
Replying to @ianchanning
For us, the concrete problem was getting more of Scala's stdlib capture-checked, especially control and concurrency. The larger goal is capability tracking across all of Scala. TACIT uses the same machinery to statically limit what AI agents can do:
github.com/lampepfl/tacit
Few production languages track effects. Fewer can say "anything except this category".
A Future needs that: its callback may capture anything *but not* thread-local state.
Scala 3 now supports this with capability classifiers. Accepted at OOPSLA 2026 🎉
arxiv.org/abs/2607.24504
Work by Nguyen Pham, moi, Yichen Xu, Yaoyu Zhao, and @odersky
It's readily available in the Scala 3 nightly, try it out with
scala -S 3.nightly -language:experimental.captureChecking
nightly.scala-lang.org/docs/…
The first feature of magic dropped: Spec Strings!
nightly.scala-lang.org/docs/…
Oliver Bračevac retweeted
New blog post that describes the ideas behind our award-winning paper on securing AI agents: martinodersky.substack.com/p…
Programming languages aren’t dead. The problems are changing.
As software starts acting on our behalf, "what is this code allowed to do?" becomes a language question. That's what motivated tracked capabilities and Scala’s capture checking.
nightly.scala-lang.org/docs/…
Our TACIT paper received a Best Paper Award @CAISconf!
Don’t just trust agents to use tools safely: have them generate code, check it before it runs, and use Scala capture checking to track which capabilities it may use or retain.
Type-safe AI infrastructure FTW.
Oliver Bračevac retweeted
How can we ensure critical safety properties of AI agents? Like, no API keys leaked, no prompt injection, no data loss? It's a hard question which will require fundamentally rethinking the way we build modular software. We have an answer in our paper "Tracking Capabilities for Safer Agents" arxiv.org/abs/2603.00991, which I will present at the CAIS conference caisconf.org/ next week.








