How can I open a URL in Google Chrome from the terminal in OS X?

87

34

How can I open a URL in Google Chrome from the terminal in OS X?

This is what I'm trying:

/usr/bin/open -a "/Applications/Google Chrome.app" --args 'http://google.com/'

It focuses Chrome but does not open the URL.

cwd

Posted 2011-10-18T04:42:25.647

Reputation: 13 508

why do you reference the open programm by it's path? It's aliased by default! – nimrod – 2013-05-11T04:31:57.423

Answers

54

If you remove the --args it seems to work fine, since --args can only affect things on first launch (it changes what main gets called with)

cobbal

Posted 2011-10-18T04:42:25.647

Reputation: 1 439

thanks for explaining the --args behaviour – ptim – 2015-04-12T07:19:13.900

weird. seems like i used to have to use them. thanks. – cwd – 2011-10-18T04:48:29.390

59

Actually for me, the command is not working with the "--args" being present so the command working for me is

/usr/bin/open -a "/Applications/Google Chrome.app" 'http://google.com/'

OS X version: 10.6.8

Arsal

Posted 2011-10-18T04:42:25.647

Reputation: 690

42

If you set Google Chrome as your default browser

open http://google.com/

will just do the trick.

OS X version: 10.8.4

alikewmk

Posted 2011-10-18T04:42:25.647

Reputation: 529

OS X 10.10 Yosemite as well. – leymannx – 2015-06-17T09:28:32.587

This only works if google chrome is your default browser. If you're using safari, firefox or another option but want to open the URL with chrome you'll need one of the other options. – tgf – 2016-03-17T02:32:55.797

1good answer, now how do I do this in a new Chrome window? – chharvey – 2016-05-13T02:31:37.660

10

You can use

open -a "Google Chrome" index.html

or, to put it in a shell script (e.g. ~/bin/chrome)

  • edit the file ~/bin/chrome, and put the following in it

    open -a "Google Chrome" "$*"

  • make the file executable by running the following in a terminal

    chmod 700 ~/bin/chrome

  • then run the following to open a file in chrome from the terminal

    chrome /path/to/some/file

Pulled from here

Brad Parks

Posted 2011-10-18T04:42:25.647

Reputation: 1 775

function chrome(){ open -a "Google Chrome" "$*" } – Joel AZEMAR – 2015-07-01T07:40:33.713

6

I've an alias for google

function google() { open /Applications/Google\ Chrome.app/ "http://www.google.com/search?q= $1"; }

Mohsen

Posted 2011-10-18T04:42:25.647

Reputation: 193

1for zsh: chrome() { open -a "Google Chrome" "http://www.google.com/search?q=$1"; } – nbari – 2015-06-17T10:02:08.503

that's a great idea :) – nimrod – 2013-05-11T04:30:36.167

4

Get rid of the --args. open already knows how to handle URLs.

user7541

Posted 2011-10-18T04:42:25.647

Reputation: 208

3

There are several helpful answers here but none that contain the complete info for opening a URL in Chrome in both cases whether it is or is not the default browser.

  1. Open a URL in the default browser (could be Chrome):

    open http://www.example.com
    
  2. Open a URL in Chrome always (using the app name):

    open -a "Google Chrome" http://www.example.com
    
  3. Open a URL in Chrome always (using the app path alternative syntax):

    open -a /Applications/Google\ Chrome.app/ http://example.com
    
  4. Open a URL in Chrome always (using the bundle identifier alternative syntax):

    open -b com.google.chrome http://www.example.com
    
  5. Open a URL in Chrome in an incognito window always:

    From man open, it would seem that you should be able to do it like this (but alas it does not seem to get the incognito option to Chrome):

    open -a "Google Chrome" http://example.com/ --args --incognito
    

    However, you can do it by passing the Chrome command line switches directly to the Chrome binary:

    /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --incognito http://example.com
    

Taylor Edmiston

Posted 2011-10-18T04:42:25.647

Reputation: 195

This answer, your 5th point, but without --incognito - is what I came looking for, and could not find elsewhere. I was wondering how to bypass open (which does not support chrome-extension://) - so I could do like so, /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome 'chrome-extension://<gobbledygook>/views/default.html#/' ... where I've copied the URL from an extension. I'm using this to open Jironimo (for JIRA) and OneTab, when I cd into work-project directory for first time each day. – driftcatcher – 2019-05-06T23:44:52.067

2

this is my method.

  1. Update ~/.bash_profile and add the chrome function below:

    function chrome(){ 
        local site=""
        if [[ -f "$(pwd)/$1" ]]; then
            site="$(pwd)/$1"
        elif [[ "$1" =~ "^http" ]]; then
            site="$1"
        else
            site="http://$1"
        fi  
        /usr/bin/open -a "/Applications/Google Chrome.app" "$site"; 
    }
    
  2. Load ~/.bash_profile:
    source ~/.bash_profile

  3. Lunch chrome and open a site:
    chrome www.google.com

  4. Open a local site:
    chrome LOCAL_SITE_PATH

user671133

Posted 2011-10-18T04:42:25.647

Reputation:

0

In macos Sierra 10.12.6 .If chrome is your default browser. You can do this by
open index.html

Dominic Motuka

Posted 2011-10-18T04:42:25.647

Reputation: 101