google / google/adk-python

adk web: Links in chat responses should open in a new tab

Open
#4,580 10 comments 0 reactions 1 assignee Assigned to @wyf7107 View on GitHub
needs review web
Dominant language
Python
Stars
21.5k
Forks
4k
Avg merge
1d 14h
Merged PRs (30d)
37

Description

### Description

When the agent responds with a URL in `adk web`, clicking it navigates away
from the chat — the user loses their conversation. Links rendered in chat
messages should open in a new browser tab.

### Steps to reproduce

1. `adk web --reload_agents`
2. Ask the agent a question that produces a response containing a URL
3. Click the link in the rendered chat message
4. The browser navigates away from the ADK web UI — the conversation is lost

### Expected behavior

External links (`http://…` / `https://…`) in chat responses should open in a
new tab (`target="_blank"`) with `rel="noopener noreferrer"`.

### Suggested fix

In the Angular web UI component that renders chat messages, add
`target="_blank"` and `rel="noopener noreferrer"` to auto-linked URLs.

For example, if links are rendered via Angular's markdown/HTML binding, a
directive or pipe could post-process `` elements:

```ts
// Wherever chat message HTML is rendered:
// Add target="_blank" rel="noopener noreferrer" to external
tags

Workaround

We're currently injecting a MutationObserver script into
google/adk/cli/browser/index.html post-install that patches links as they
appear in the DOM. This works but has to be re-applied after every
pip install.

Environment

- adk-python version: latest (pip)
- Browser: Chrome / Safari / Firefox (all affected)
- OS: macOS / Linux

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.