<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mauro</title>
    <description>The latest articles on DEV Community by Mauro (@mdpp).</description>
    <link>https://dev.to/mdpp</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3785820%2Fdfe10634-d8ea-4598-9054-e9b9917f848e.jpg</url>
      <title>DEV Community: Mauro</title>
      <link>https://dev.to/mdpp</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mdpp"/>
    <language>en</language>
    <item>
      <title>Cursor Agent Keeps Stopping — How I Fixed It with Hooks and Slack</title>
      <dc:creator>Mauro</dc:creator>
      <pubDate>Tue, 24 Mar 2026 06:55:19 +0000</pubDate>
      <link>https://dev.to/mdpp/cursor-agent-keeps-stopping-how-i-fixed-it-with-hooks-and-slack-klo</link>
      <guid>https://dev.to/mdpp/cursor-agent-keeps-stopping-how-i-fixed-it-with-hooks-and-slack-klo</guid>
      <description>&lt;p&gt;I’ve been using Cursor more and more lately. Started using it while building Lassare itself, specifically for the hooks configuration and code review and it just gets stuck, every now and then.&lt;/p&gt;

&lt;p&gt;If you use Cursor’s agent for long tasks you’ve surely experienced the same: you kick off something, step away, and come back to find it stopped mid-way. Waiting. Either it hit a decision point, needed your input, needs to use a tool it is not allowed to, or just finished and had no idea what to do next.&lt;/p&gt;

&lt;p&gt;Same problem I had with Claude Code. Same fix.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hooks.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;What are hooks in Cursor?&lt;/strong&gt; &lt;em&gt;Cursor has a hooks system — scripts that run automatically at specific points in the agent loop. You can intercept before a tool runs, after a file is edited, before the agent stops, and more.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The hook I needed was &lt;code&gt;beforeShellExecution&lt;/code&gt;, it fires before the agent executes anything that might need my attention. The hook triggers the request to Slack via MCP. I answer from my phone, the agent continues.&lt;/p&gt;

&lt;p&gt;The other one was the &lt;code&gt;stop&lt;/code&gt; hook — same idea as Claude Code. When Cursor is about to stop, instead of just sitting there it asks you what’s next. You reply from Slack, it keeps going.&lt;/p&gt;

&lt;p&gt;Once both hooks were in place the loop closed. Cursor working locally, me anywhere, decisions happening via Slack.&lt;/p&gt;

&lt;p&gt;The screenshot below is from my phone. “Cursor is stopping. Anything else?” — I replied “Done” and that was it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Framo6aic78u2zadh48fq.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Framo6aic78u2zadh48fq.jpg" alt="Cursor agent asking what to do next via Slack on mobile" width="800" height="1629"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The hooks config for Cursor is in our public repo if you want to have a look: &lt;a href="https://dev.tolassare-hq/agent-configs"&gt;lassare-hq/agent-configs&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You don’t need to go full yolo and let the agent do whatever it wants just to avoid babysitting it. You can keep control, without being stuck at your desk.&lt;/p&gt;

&lt;p&gt;Anthropic just released Channels for Claude Code, same idea, your agent reaches you on Telegram or Discord. Great if you’re on Claude Code. For Cursor users, hooks plus Lassare MCP gets you there today, via Slack.&lt;/p&gt;

&lt;p&gt;Same MCP server works with Claude Code, Gemini CLI and GitHub Copilot too. One setup, all your agents.&lt;/p&gt;

&lt;p&gt;Give it a try at &lt;a href="//lassare.com"&gt;lassare.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>cursor</category>
      <category>mcp</category>
      <category>vibecoding</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Claude Code kept getting stuck while I was AFK — here's how I fixed it with hooks</title>
      <dc:creator>Mauro</dc:creator>
      <pubDate>Mon, 09 Mar 2026 09:21:24 +0000</pubDate>
      <link>https://dev.to/mdpp/claude-code-kept-getting-stuck-while-i-was-afk-heres-how-i-fixed-it-with-hooks-k9l</link>
      <guid>https://dev.to/mdpp/claude-code-kept-getting-stuck-while-i-was-afk-heres-how-i-fixed-it-with-hooks-k9l</guid>
      <description>&lt;p&gt;In my previous post I talked about building an MCP server to let Claude Code ask me questions via Slack. Our prototype was working… so nice!&lt;/p&gt;

&lt;p&gt;It was time to test it more “deeply”, so I passed Claude Code a long enough prompt to keep it busy for a while, and as part of the prompt, I asked it to run the command to enable interaction via Slack (/lassare-slack). Waited a bit, was working, time to go to the gym.&lt;/p&gt;

&lt;p&gt;It asked me a couple of questions during the walk to the gym… then nothing more. I waited, and waited… and waited… nothing. What happened?!&lt;/p&gt;

&lt;p&gt;Completed my workout, back at my laptop.&lt;/p&gt;

&lt;p&gt;Claude Code was waiting for me to approve a “git reset” (a reset that I didn’t ask it to do BTW 🤦🏻‍♂️). Permission prompts are a local thing — they show up in the terminal, not in Slack. So there was no way for me to approve or deny from my phone.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F472exoeb6p3jn20ide15.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F472exoeb6p3jn20ide15.png" alt="Coding Agent getting stuck waiting for approval (HITL) - Lassare let you approving it remotely, while AFK" width="800" height="474"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now what?!?&lt;/p&gt;

&lt;p&gt;HOOKS! Yes, let me try using hooks.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 What are hooks? Claude Code has a feature called hooks — scripts that run automatically when certain events happen, like when the agent needs permission or when it’s about to stop.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I started with identifying the right hook (it was clearly “PermissionRequest”) then the hook configuration, creating a couple of scripts, adding a few more instructions into CLAUDE.md. A few back and forths but it worked. Very good.&lt;/p&gt;

&lt;p&gt;Did a few more rounds of tests, I was really happy with the results. Next day, same drill… I gave Claude Code a few instructions and asked it to move to Slack. Waited a few minutes, was working, it asked me a couple of approvals and it kept working.&lt;/p&gt;

&lt;p&gt;Back to the gym (no, I don’t go to the gym every day!), doing my workout, one more question answered… then stopped. Again?!? That was depressing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fullcdqaul88y58txsp1i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fullcdqaul88y58txsp1i.png" alt="At the gym, while AI coding agent keeps working" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Finished my workout, back to my laptop… Claude Code finished what I asked it to do and was there, waiting for me to tell it what to do. Here we go again…&lt;/p&gt;

&lt;p&gt;Same playbook… I need another hook! “Stop” hook. A couple more scripts, a lot of tests (this one wasn’t easy, it might deserve a dedicated blog post I think) and now Claude Code can ask what else it should do when it’s going to stop. Pretty cool, right?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr88nicf8lnwrtxzisk2v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fr88nicf8lnwrtxzisk2v.png" alt="Approving AI coding agent to use tool via Slack, leveraging hooks" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I was really able to let Claude Code work while AFK, on multiple tasks.&lt;/p&gt;

&lt;p&gt;Since writing this, we got it working with Cursor, Gemini CLI, and GitHub Copilot too. Same MCP, same Slack, different agents.&lt;/p&gt;

&lt;p&gt;You wanna have a look at our “final” (so far) configuration of hooks and scripts? Have a look at our GitHub public repo &lt;a href="https://github.com/lassare-hq/agent-configs" rel="noopener noreferrer"&gt;lassare-hq/agent-configs&lt;/a&gt; and then give lassare a try: &lt;a href="https://lassare.com" rel="noopener noreferrer"&gt;lassare.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>githubcopilot</category>
      <category>claudecode</category>
      <category>vibecoding</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Claude Code Remote Control Is Great. Here's Why You Still Need Lassare.</title>
      <dc:creator>Mauro</dc:creator>
      <pubDate>Mon, 02 Mar 2026 06:34:51 +0000</pubDate>
      <link>https://dev.to/mdpp/claude-code-remote-control-is-great-heres-why-you-still-need-lassare-46in</link>
      <guid>https://dev.to/mdpp/claude-code-remote-control-is-great-heres-why-you-still-need-lassare-46in</guid>
      <description>&lt;p&gt;Earlier this week, Anthropic released Claude Code Remote, developers can now continue working while away from the keyboard. This is great news for many!&lt;/p&gt;

&lt;p&gt;Of course this is not something new, many developers were already doing that, somehow. There are plenty of tutorials to run Claude Code on a virtual machine, to access it via a terminal app, and often a mix of the two. You just had to follow one of those YouTube tutorials and their 30+ “easy” steps.&lt;/p&gt;

&lt;p&gt;There are also other solutions based on a “black box” app.&lt;/p&gt;

&lt;p&gt;Claude Code Remote is simple, straightforward:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Type /remote-control (or /rc)&lt;/li&gt;
&lt;li&gt;Open the Claude Code app on your phone&lt;/li&gt;
&lt;li&gt;Scan the QR code (or find the session by name)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;There you are, you have access to the session running on your machine, with access to all the local tools. Quite powerful. Very nice. I just tried and I love it.&lt;/p&gt;

&lt;p&gt;Reality is, most of the developers I know, use more than one coding agent. So what? We wait for Cursor, Gemini CLI, etc to deliver the same feature (of course they will) so we can install all those apps and go back and forth from one app to another. Really?&lt;/p&gt;

&lt;p&gt;Lassare does something different. We bring the coding agent (any coding agent that supports MCP, better if supports hooks too) in the app developers already use and love: Slack.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Febo8phb639h5pdmayqs1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Febo8phb639h5pdmayqs1.png" alt="AI Coding agents reach you via Slack" width="800" height="1347"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lassare notification on Slack mobile — an AI agent asking a technical question&lt;br&gt;
Not just Claude Code Pro and Max… Lassare works with any “flavor” of Claude Code (with any LLM behind), works with Cursor, works with Gemini CLI (and soon with GitHub Copilot + VS Code).&lt;/p&gt;

&lt;p&gt;No black boxes, no custom apps. Just an MCP… developers can see and control what the agent sends via Slack. Lassare cannot access your code.&lt;/p&gt;

&lt;p&gt;Lassare lets the coding agent(s) ping you when it needs your input. It does not “bother” you with the details. We are not trying to let you “code remotely”… but you can step away and be sure your agent keeps doing its tasks (without having to enable “YOLO mode” — full access/no restrictions).&lt;/p&gt;

&lt;p&gt;Claude Code Remote validates our idea and our product. It is not “killing” it. …and not all developers want to rely on a complex setup. We will keep working on integrating more coding agents and support teams/enterprise.&lt;/p&gt;

&lt;p&gt;Check it out at &lt;a href="https://lassare.com" rel="noopener noreferrer"&gt;lassare.com&lt;/a&gt; — it’s free to start.&lt;/p&gt;

</description>
      <category>vibecoding</category>
      <category>ai</category>
      <category>startup</category>
      <category>mcp</category>
    </item>
    <item>
      <title>I built an MCP server so Claude Code can reach me on Slack</title>
      <dc:creator>Mauro</dc:creator>
      <pubDate>Sun, 22 Feb 2026 16:00:00 +0000</pubDate>
      <link>https://dev.to/mdpp/i-built-an-mcp-server-so-claude-code-can-reach-me-on-slack-l76</link>
      <guid>https://dev.to/mdpp/i-built-an-mcp-server-so-claude-code-can-reach-me-on-slack-l76</guid>
      <description>&lt;p&gt;I kept getting stuck babysitting Claude Code to be sure it was finishing that last thing, before going to the gym, before going out for dinner... before before... because if not, the moment I left it would ask me for an approval to do something it is not allowed to, or because it might have just finished and I was not there to tell it what to do next.&lt;/p&gt;

&lt;p&gt;So frustrating...&lt;/p&gt;

&lt;p&gt;I hear you... "just use Claude Code on mobile, dude!?!"&lt;/p&gt;

&lt;p&gt;It is not the same, you know that. Of course I use Claude Code on my phone every now and then, to check something or explore new ideas.&lt;/p&gt;

&lt;p&gt;I'm talking about me working on my laptop, CC doing "its stuff" ("Inferring... Shimmying... Bootstrapping... Recombobulating...") where it can monitor deploy, checking my AWS logs, etc. This can only happen on your laptop... plus even if it is "just" writing code, I should stop it and continue on mobile.&lt;/p&gt;

&lt;p&gt;I looked around (Reddit, Googling, asked Claude, asked Gemini, asked ChatGPT...) but there was no straightforward approach or solution I really liked:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;openssh-server + Tailscale&lt;/li&gt;
&lt;li&gt;Claude Code + tmux + remote server&lt;/li&gt;
&lt;li&gt;Docker container + ShellHub&lt;/li&gt;
&lt;li&gt;tmux + Tailscale + Termius&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I wanted something "easier". A simple human-in-the-loop for my AI coding agent.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What if we could simply ask Claude Code to talk to us via Slack when AFK?&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;┌────────────┐     ┌────────────┐     ┌────────────┐
│ Your Agent │────▶│     MCP    │────▶│    Slack   │
│            │◀────│            │◀────│            │
└────────────┘     └────────────┘     └────────────┘
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We were working on something else and we already had some of the components we would need.&lt;/p&gt;

&lt;p&gt;Quick prototype to prove it would work... it did work!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4qzut9sq1ie0ou97wre4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F4qzut9sq1ie0ou97wre4.png" alt="vscode + claude code CLI + Slack on phone" width="800" height="500"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A few weeks later (I'll save the details for the next posts) here we are.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lassare&lt;/strong&gt; is an MCP server that lets your AI coding agent (Claude Code, Cursor, Gemini CLI and any other supporting MCP) ask you questions while away from your desk. You can approve tools usage, tell it what to do next, answer its questions, all from your phone. No more "standstill".&lt;/p&gt;

&lt;p&gt;Check it out at &lt;a href="https://lassare.com" rel="noopener noreferrer"&gt;lassare.com&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>claudecode</category>
      <category>ai</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
