diff --git a/src/components/gui/gui.jsx b/src/components/gui/gui.jsx
index d39e2283320384f35a81e0185c6d7d01f59fbe92..e898f8f48f4b076da63095cfb40a9cdaa26bb3a2 100644
--- a/src/components/gui/gui.jsx
+++ b/src/components/gui/gui.jsx
@@ -61,6 +61,11 @@ const GUIComponent = props => {
         backpackOptions,
         blocksTabVisible,
         cardsVisible,
+        canCreateNew,
+        canRemix,
+        canSave,
+        canSaveAsCopy,
+        canShare,
         children,
         costumeLibraryVisible,
         costumesTabVisible,
@@ -164,6 +169,11 @@ const GUIComponent = props => {
                 ) : null}
                 <MenuBar
                     accountNavOpen={accountNavOpen}
+                    canCreateNew={canCreateNew}
+                    canRemix={canRemix}
+                    canSave={canSave}
+                    canSaveAsCopy={canSaveAsCopy}
+                    canShare={canShare}
                     className={styles.menuBarPosition}
                     enableCommunity={enableCommunity}
                     renderLogin={renderLogin}
@@ -305,6 +315,11 @@ GUIComponent.propTypes = {
     }),
     basePath: PropTypes.string,
     blocksTabVisible: PropTypes.bool,
+    canCreateNew: PropTypes.bool,
+    canRemix: PropTypes.bool,
+    canSave: PropTypes.bool,
+    canSaveAsCopy: PropTypes.bool,
+    canShare: PropTypes.bool,
     cardsVisible: PropTypes.bool,
     children: PropTypes.node,
     costumeLibraryVisible: PropTypes.bool,
@@ -344,6 +359,11 @@ GUIComponent.defaultProps = {
         visible: false
     },
     basePath: './',
+    canCreateNew: true,
+    canRemix: false,
+    canSave: false,
+    canSaveAsCopy: false,
+    canShare: false,
     stageSizeMode: STAGE_SIZE_MODES.large
 };
 
diff --git a/src/components/menu-bar/menu-bar.jsx b/src/components/menu-bar/menu-bar.jsx
index 81715e607114e540fce495bbbd7e3f06288930f9..e33868b96bb0ad76fbefdd993badcd603c7fe64b 100644
--- a/src/components/menu-bar/menu-bar.jsx
+++ b/src/components/menu-bar/menu-bar.jsx
@@ -145,12 +145,11 @@ class MenuBar extends React.Component {
         }
     }
     handleClickNew () {
-        const canSave = this.props.canUpdateProject; // logged in
         // if canSave===true, it's safe to replace current project, since we will auto-save first
         const readyToReplaceProject =
-            canSave || confirm('Replace contents of the current project?'); // eslint-disable-line no-alert
+            this.props.canSave || confirm('Replace contents of the current project?'); // eslint-disable-line no-alert
         if (readyToReplaceProject) {
-            this.props.onClickNew(canSave);
+            this.props.onClickNew(this.props.canSave);
         }
     }
     handleClickSave () {
@@ -210,6 +209,13 @@ class MenuBar extends React.Component {
                 id="gui.menuBar.saveNow"
             />
         );
+        const saveAsCopyMessage = (
+            <FormattedMessage
+                defaultMessage="Save as a copy"
+                description="Menu bar item for saving as a copy"
+                id="gui.menuBar.saveAsCopy"
+            />
+        );
         const newProjectMessage = (
             <FormattedMessage
                 defaultMessage="New"
@@ -285,24 +291,23 @@ class MenuBar extends React.Component {
                                 place={this.props.isRtl ? 'left' : 'right'}
                                 onRequestClose={this.props.onRequestCloseFile}
                             >
-                                {/* for now, only enable New when there is no session */}
-                                {this.props.sessionExists ? (
-                                    <MenuItemTooltip
-                                        id="new"
-                                        isRtl={this.props.isRtl}
-                                    >
-                                        <MenuItem>{newProjectMessage}</MenuItem>
-                                    </MenuItemTooltip>
-                                ) : (
+                                {this.props.canCreateNew ? (
                                     <MenuItem
                                         isRtl={this.props.isRtl}
                                         onClick={this.handleClickNew}
                                     >
                                         {newProjectMessage}
                                     </MenuItem>
+                                ) : (
+                                    <MenuItemTooltip
+                                        id="new"
+                                        isRtl={this.props.isRtl}
+                                    >
+                                        <MenuItem>{newProjectMessage}</MenuItem>
+                                    </MenuItemTooltip>
                                 )}
                                 <MenuSection>
-                                    {this.props.canUpdateProject ? (
+                                    {this.props.canSave ? (
                                         <MenuItem onClick={this.handleClickSave}>
                                             {saveNowMessage}
                                         </MenuItem>
@@ -314,18 +319,18 @@ class MenuBar extends React.Component {
                                             <MenuItem>{saveNowMessage}</MenuItem>
                                         </MenuItemTooltip>
                                     )}
-                                    <MenuItemTooltip
-                                        id="copy"
-                                        isRtl={this.props.isRtl}
-                                    >
-                                        <MenuItem>
-                                            <FormattedMessage
-                                                defaultMessage="Save as a copy"
-                                                description="Menu bar item for saving as a copy"
-                                                id="gui.menuBar.saveAsCopy"
-                                            />
+                                    {this.props.canSaveAsCopy ? (
+                                        <MenuItem onClick={this.handleClickSaveAsCopy}>
+                                            {saveAsCopyMessage}
                                         </MenuItem>
-                                    </MenuItemTooltip>
+                                    ) : (
+                                        <MenuItemTooltip
+                                            id="copy"
+                                            isRtl={this.props.isRtl}
+                                        >
+                                            <MenuItem>{saveAsCopyMessage}</MenuItem>
+                                        </MenuItemTooltip>
+                                    )}
                                 </MenuSection>
                                 <MenuSection>
                                     <SBFileUploader>
@@ -432,7 +437,7 @@ class MenuBar extends React.Component {
                         </MenuBarItemTooltip>
                     </div>
                     <div className={classNames(styles.menuBarItem)}>
-                        {this.props.onShare ? shareButton : (
+                        {this.props.canShare ? shareButton : (
                             <MenuBarItemTooltip id="share-button">
                                 {shareButton}
                             </MenuBarItemTooltip>
@@ -615,7 +620,11 @@ class MenuBar extends React.Component {
 
 MenuBar.propTypes = {
     accountMenuOpen: PropTypes.bool,
-    canUpdateProject: PropTypes.bool,
+    canCreateNew: PropTypes.bool,
+    canRemix: PropTypes.bool,
+    canSave: PropTypes.bool,
+    canSaveAsCopy: PropTypes.bool,
+    canShare: PropTypes.bool,
     className: PropTypes.string,
     editMenuOpen: PropTypes.bool,
     enableCommunity: PropTypes.bool,
@@ -651,12 +660,15 @@ MenuBar.propTypes = {
     username: PropTypes.string
 };
 
+MenuBar.defaultProps = {
+    onShare: () => {}
+};
+
 const mapStateToProps = state => {
     const loadingState = state.scratchGui.projectState.loadingState;
     const user = state.session && state.session.session && state.session.session.user;
     return {
         accountMenuOpen: accountMenuOpen(state),
-        canUpdateProject: typeof user !== 'undefined',
         fileMenuOpen: fileMenuOpen(state),
         editMenuOpen: editMenuOpen(state),
         isRtl: state.locales.isRtl,
diff --git a/src/playground/render-gui.jsx b/src/playground/render-gui.jsx
index c5be243d113a20c53e99d0cd3861fd6ebe640911..0a2f67dde26aac3009fce5b3df99a6060d396cbb 100644
--- a/src/playground/render-gui.jsx
+++ b/src/playground/render-gui.jsx
@@ -37,5 +37,9 @@ export default appTarget => {
         window.onbeforeunload = () => true;
     }
 
-    ReactDOM.render(<WrappedGui backpackOptions={backpackOptions} />, appTarget);
+    ReactDOM.render(
+        <WrappedGui
+            backpackOptions={backpackOptions}
+        />,
+        appTarget);
 };
diff --git a/test/integration/menu-bar.test.js b/test/integration/menu-bar.test.js
new file mode 100644
index 0000000000000000000000000000000000000000..a5c4ede2b7e2b2d8d932d34bb1f257013bdf38b6
--- /dev/null
+++ b/test/integration/menu-bar.test.js
@@ -0,0 +1,60 @@
+import path from 'path';
+import SeleniumHelper from '../helpers/selenium-helper';
+
+const {
+    clickXpath,
+    findByXpath,
+    getDriver,
+    loadUri
+} = new SeleniumHelper();
+
+const uri = path.resolve(__dirname, '../../build/index.html');
+
+let driver;
+
+describe('Menu bar settings', () => {
+    beforeAll(() => {
+        driver = getDriver();
+    });
+
+    afterAll(async () => {
+        await driver.quit();
+    });
+
+    test('File->New should be enabled', async () => {
+        await loadUri(uri);
+        await clickXpath('//button[@title="Try It"]');
+        await clickXpath(
+            '//div[contains(@class, "menu-bar_menu-bar-item") and ' +
+            'contains(@class, "menu-bar_hoverable")][span[text()="File"]]'
+        );
+        await findByXpath('//*[li[span[text()="New"]] and not(@data-tip="tooltip")]');
+    });
+
+    test('File->Save now should NOT be enabled', async () => {
+        await loadUri(uri);
+        await clickXpath('//button[@title="Try It"]');
+        await clickXpath(
+            '//div[contains(@class, "menu-bar_menu-bar-item") and ' +
+            'contains(@class, "menu-bar_hoverable")][span[text()="File"]]'
+        );
+        await findByXpath('//*[li[span[text()="Save now"]] and @data-tip="tooltip"]');
+    });
+
+
+    test('File->Save as a copy should NOT be enabled', async () => {
+        await loadUri(uri);
+        await clickXpath('//button[@title="Try It"]');
+        await clickXpath(
+            '//div[contains(@class, "menu-bar_menu-bar-item") and ' +
+            'contains(@class, "menu-bar_hoverable")][span[text()="File"]]'
+        );
+        await findByXpath('//*[li[span[text()="Save as a copy"]] and @data-tip="tooltip"]');
+    });
+
+    test('Share button should NOT be enabled', async () => {
+        await loadUri(uri);
+        await clickXpath('//button[@title="Try It"]');
+        await findByXpath('//div[span[div[span[text()="Share"]]] and @data-tip="tooltip"]');
+    });
+});